diff --git a/packageA/pages/cardList/cardList.js b/packageA/pages/cardList/cardList.js index c0644a1..2a25c23 100644 --- a/packageA/pages/cardList/cardList.js +++ b/packageA/pages/cardList/cardList.js @@ -11,13 +11,12 @@ Page({ list: null, isLoading: false, // 检测是否已经发送请求,防止重复发送请求 noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据 - pageNum: 1, // 当前页数 - + pageNum: 1, // 当前页数 currentQuery: { store_id: app.globalData.setting.stoid, - }, - + }, default_img: '/miniapp/images/default_g_img.gif', + object:null, }, /** @@ -30,7 +29,15 @@ Page({ userInfo: data, imghost: app.globalData.setting.imghost, }); - }); + }); + var url="/api/weshop/store_module/gets/"+app.globalData.setting.stoid+"/0/5"; + getApp().promiseGet(url,{}).then(res=>{ + if(res.data.code==0 && res.data.data && res.data.data.length>0){ + var json=JSON.parse(res.data.data[0].json_str); + var content=json[0].content; + self.setData({object:content}); + } + }) }, /** @@ -54,8 +61,7 @@ Page({ isLogin: true, }); - this.getData(true, url, currentQuery); - + this.getData(true, url, currentQuery); // app.request.promiseGet("/api/weshop/ad/page?pid=2&store_id=" + app.globalData.setting.stoid, { // data: { // enabled: 1 @@ -64,7 +70,6 @@ Page({ // console.log('res==>1', res); // }); - app.request.promiseGet("/api/weshop/ad/page?pid=2&store_id=" + app.globalData.setting.stoid, { data: { enabled: 1 diff --git a/packageA/pages/cardList/cardList.json b/packageA/pages/cardList/cardList.json index e05a1ed..477fbd1 100644 --- a/packageA/pages/cardList/cardList.json +++ b/packageA/pages/cardList/cardList.json @@ -2,6 +2,7 @@ "navigationBarTitleText": "卡项列表", "enablePullDownRefresh": false, "usingComponents": { - "nodata": "/components/nodata/nodata" + "nodata": "/components/nodata/nodata", + "advertising":"/components/diy_advertising/diy_advertising" } } \ No newline at end of file diff --git a/packageA/pages/cardList/cardList.wxml b/packageA/pages/cardList/cardList.wxml index 6c16f9f..7e9254b 100644 --- a/packageA/pages/cardList/cardList.wxml +++ b/packageA/pages/cardList/cardList.wxml @@ -1,13 +1,65 @@ + + + + + + + + + + + + + + + {{item.serviceName}} + 有效天数:{{item.validDays}} + + + {{item.money}} + + + + + + + + + + + + + + + + + {{item.serviceName}} + 有效天数:{{item.validDays}} + + + {{item.money}} + + + + + + + + + - 已经到底了 - + + + - - - + - + @@ -18,14 +70,15 @@ {{item.money}} - 卡项详情 + 卡项详情 - - - 已经到底了 - + + - 已经到底了 - + \ No newline at end of file diff --git a/packageA/pages/cardList/cardList.wxss b/packageA/pages/cardList/cardList.wxss index 80d7aff..a64bc81 100644 --- a/packageA/pages/cardList/cardList.wxss +++ b/packageA/pages/cardList/cardList.wxss @@ -64,4 +64,14 @@ page { .swiper-img { display: block; margin: auto; -} \ No newline at end of file +} + +.list_item{ display: inline-block;} +.w100{ width: 100%;} +.w50{ width: 49%; } + + +.w50 image{ width: 100%; height: 340rpx; } +.flex-set{display: flex;flex-wrap: wrap;} +.ml{margin-left: 15rpx;} +.b-bottom{ border-bottom:1rpx solid #fff} \ No newline at end of file diff --git a/packageA/pages/cart2_ser/cart2_ser.js b/packageA/pages/cart2_ser/cart2_ser.js new file mode 100644 index 0000000..201a766 --- /dev/null +++ b/packageA/pages/cart2_ser/cart2_ser.js @@ -0,0 +1,333 @@ +var t = getApp(),app=t, a = t.request, e = require("../../../utils/common.js"), + s = require("../../../utils/util.js"), o = require("../../../utils/md5.js"), to = getApp(); +var oo=t.globalData.setting,os=oo; +var regeneratorRuntime = require('../../../utils/runtime.js'); +var util_pay = require("../../../utils/pay.js"); + +Page({ + data: { + url: t.globalData.setting.url, + resourceUrl: t.globalData.setting.resourceUrl, + imgUrl: t.globalData.setting.imghost, + + invoiceToggle: !0, + payWithUserMoney: !0, + payWithPoints: !0, + maxWord: 0, + enterAddressPage: !1, + + //页面获取的参数 + param:null, + postdata:null, + //提交订单的格式 + formData: { + order_amount:0,//支付金额 + total_amount:0,//总价 + all_price:0,//商品卖的总价 + pay_points: 0,//使用积分 + user_money: 0,//使用余额 + couponCode: "",//使用优惠券(多单就用逗号隔开) + shipping_price:0,//物流费用 + }, + + /*----------------立即购买---------------------*/ + is_b_now:0, //0是购物车结算 1立即购买 + bn_goods:null, //立即购买时候的调用商品 + bn_use_money:0,//是否使用余额 + bn_pick:0, //选择的门店 + bn_pickname: "", //选择的门店名称 + + /*------------------------*/ + //判断页面是返回回来的还是 首次进入的 + yuer:0, + }, + onLoad: function(t) { + var appD=getApp().globalData.service_now; + this.data.postdata=appD; + this.data.param=t; + var th=this; + + getApp().promiseGet("/api/wx/weappSendlist/page", { + data: { + store_id: os.stoid, + typeid: "1002" + }}).then(res=>{ + if (res.data.code == 0 && res.data.data.pageData.length > 0) { + var template_id = res.data.data.pageData[0].template_id; + th.setData({template_id:template_id}); + } + }) + + }, + onUnload: function () { this.setData({ isclose: 1 })}, + + //------获取会员信息-----先获取用户信息,在进行下一步--- + get_info:function(func){ + var user_id = t.globalData.user_id; + to.auth.get_u(func); + }, + + + //----------------展示页面,是再获取用户信息之后-------------- + show_page:function(){ + var th=this; + //th.setData({ userinfo: to.globalData.userInfo}); 会员信息要时时获取 + var user=getApp().globalData.userInfo; + getApp().request.get("/api/weshop/users/get/" + oo.stoid + "/" + user.user_id, { + data:{r:Math.random()}, + success: function (e) { + + getApp().globalData.userInfo = e.data.data; + th.setData({userinfo:e.data.data}); + //获取立即购买的商品信息 + th.get_buy_goods(); + + //获取提现金额 + getApp().request.get("/api/weshop/withdrawals/summoney", { + data: { user_id: to.globalData.user_id, store_id: oo.stoid, status: 0 }, + success: function (su) { + if (su.data.code == 0) { + var yuer = parseFloat(th.data.userinfo.user_money - + (th.data.userinfo.frozen_money>0?th.data.userinfo.frozen_money:0) - su.data.data.summoney).toFixed(2); + th.setData({ txmon: su.data.data.summoney, yuer: yuer }); + } + } + }); + } + }); + }, + + //-----获取立即购买的商品信息---- + get_buy_goods: function (){ + var th=this,a=getApp().request; + var gg = th.data.postdata; + var url="/api/weshop/serviceCard/get/" + oo.stoid + "/" + gg.id + //调用商品 + a.get(url, { + success: function (t) { + var gd = t.data.data; + t.data.data.original_img = oo.imghost + t.data.data.imgUrl; + t.data.data['buynum'] = gg.goods_num; + t.data.data.shop_price=gd.money; + + th.setData({ + bn_goods: t.data.data, bn_pickname: gg.pick_name, + bn_pick: gg.pick_id + }); + th.calculatePrice2(); + + } + }); + }, + + //----------子页返回父页触发---------- + onShow: function() { + var th=this; + if (th.data.isclose==0){ + wx.navigateTo({ + url: "/pages/index/index/index" + }) + } + //先获取是否有关闭使用优惠券 + getApp().getConfig2(function (ee) { + //var json_d = JSON.parse(ee.switch_list); + //th.data.ispt_goods=json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 + //th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules,rank_switch:json_d.rank_switch}); + th.show_page(); + }) + }, + + + showInvoice: function() { + this.setData({ + invoiceToggle: !this.data.invoiceToggle + }); + }, + + + //---------计算立即购买---------- + calculatePrice2: function () { + console.log('calculatePrice2'); + var th = this, good = this.data.bn_goods; + //-----------计算商品总价-------------- + var allpice = good.shop_price * good.buynum; + allpice=parseFloat(allpice).toFixed(2); + var txt = "formData.all_price"; + th.setData({ [txt]: allpice, }); + + var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; + //-----------------总价----------------- + var total_m = parseFloat(allpice) + parseFloat( th.data.formData.shipping_price); + total_m = parseFloat(total_m).toFixed(2); + + var atxt= "formData.total_amount"; + th.setData({ [atxt]: total_m, }) + var order_m = total_m; + var txt = "formData.user_money"; + var txt2 = "formData.order_amount"; + + th.setData({ [txt]: 0, [txt2]: order_m }) + + }, + + submitForm:function(){ + var th=this; + this.sendsm(function(){ + th.submit_func(); + }) + }, + + //--------------------提交订单----------------------- + submit_func: async function(){ + if(this.data.is_summit_ing==1) return false; //--提交中退出-- + this.data.is_summit_ing=1; + var th=this,pdata=new Array(); + var ff=true; + var item={ + 'user_id': to.globalData.user_id, + 'account': th.data.formData.order_amount, //使用余额 + 'store_id':oo.stoid, //商家 + 'list':new Array(), + }; + var gg = getApp().globalData.service_now; + var goods={ + 'card_id': th.data.bn_goods.id, + 'itemid': th.data.bn_goods.erpItemID, + 'qty': gg.goods_num, + 'price': th.data.formData.order_amount, + 'pickup_id':gg.pick_id, + 'pickup_keyid':gg.keyid, + }; + + //--导购分享过来的id-- + if(gg.guide_id){ + goods.guide_id=gg.guide_id; + goods.guide_type=gg.guide_type; + //调用接口判断是不是会员 + await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/"+oo.stoid+"/"+gg.guide_id,{}).then(res=>{ + if(res.data.code==0){ + goods.guide_name=res.data.data.salesman; + goods.guide_sn=res.data.data.salesman_no; + } + }) + } + item.list.push(goods); + pdata=item; + + var str = JSON.stringify(pdata); + console.log("支付数据"); + console.log(str); + //return false; + wx.showLoading({title: "加载中"}); + wx.request({ + url: oo.url + '/api/weshop/recharge/saveRecharge', + data: str, + method: 'POST', + header: { + 'content-type': 'application/json' + },// 设置请求的 header + success: function (res) { + + wx.hideLoading(); + if (res.statusCode == 200) { + var data=res.data; + if(data.code==0){ + + var order_amount = pdata.account; + //要进行判断,如果是用微信支付,就要跳转到支付界面 + if (order_amount > 0) { + th.setData({ isclose: 0 }); + + getApp().request.post("/api/weshop/order/pay/createRechargeOrder", { + data: { + parentSn: data.data.order_sn, + store_id: oo.stoid + }, + success: function (su) { + var n=su.data.data; + th.weixinPay(n, + function () { + getApp().showWarning("购买成功"); + setTimeout(function () { + wx.reLaunch({ + url: "/packageA/pages/cardList/cardList", + }) + },1000) + }, function () { + getApp().showWarning("支付失败"); + setTimeout(function () { + wx.reLaunch({ + url: "/packageA/pages/cardList/cardList", + }) + },1000) + }) + } + }) + } + } + else{ + th.data.is_summit_ing=0; //是否提交中 + getApp().confirmBox(data.msg); + } + } else { + th.data.is_summit_ing=0; //是否提交中 + console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode); + } + }, + fail: function () { + th.data.is_summit_ing=0; //是否提交中 + wx.hideLoading(); + console.log("index.js wx.request CheckCallUser fail"); + }, + complete: function () {} + }) + }, + + cart_set_err: function (e) { + var txt = e.currentTarget.dataset.err; + var ob = {}; + ob[txt] = this.data.imgUrl + "/miniapp/images/default_g_img.gif"; + this.setData(ob); + }, + + //------调起支付框-------- + weixinPay: function (n, success, fail) { + wx.requestPayment({ + timeStamp: String(n.timeStamp), + nonceStr: n.nonceStr, + package: n.packageValue, + signType: n.signType, + paySign: n.paySign, + success: function (n) { + console.log(n), getApp().showSuccess("支付成功!"); + "function" == typeof success && success(); + wx.redirectTo({ + url: "../deposit/deposit" + }); + }, + fail: function (n) { + console.log(n), "requestPayment:fail" == n.errMsg ? getApp().showWarning("支付失败") : "requestPayment:fail cancel" == n.errMsg ? getApp().showWarning("您已取消支付") : getApp().showWarning("支付失败:" + n.errMsg.substr("requestPayment:fail ".length)), + "function" == typeof fail && fail(); + } + }); + }, + + //订阅消息提醒 + sendsm:function(func) + { + var template_id = this.data.template_id; + // //授权订阅 + wx.requestSubscribeMessage({ + tmplIds: [template_id], + success(res) { + func(); + }, + fail(res) { + func(); + } + }) + + }, + + +}); diff --git a/packageA/pages/cart2_ser/cart2_ser.json b/packageA/pages/cart2_ser/cart2_ser.json new file mode 100644 index 0000000..3eba9c8 --- /dev/null +++ b/packageA/pages/cart2_ser/cart2_ser.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "填写订单", + "enablePullDownRefresh": false, + "usingComponents": { + "warn": "/components/long_warn/long_warn" + } +} \ No newline at end of file diff --git a/packageA/pages/cart2_ser/cart2_ser.wxml b/packageA/pages/cart2_ser/cart2_ser.wxml new file mode 100644 index 0000000..4fe080a --- /dev/null +++ b/packageA/pages/cart2_ser/cart2_ser.wxml @@ -0,0 +1,50 @@ + +
+ + + + + + {{bn_pickname}} + + + + + + {{bn_goods.serviceName}} + + + + + + + {{filters.toFix(bn_goods.shop_price,2)}} + x{{bn_goods.buynum}} + + + + + + + + + 服务卡金额 + ¥ {{formData.all_price}}元 + + + + + + 应付金额:¥{{formData.order_amount}} + + + +
+ diff --git a/packageA/pages/cart2_ser/cart2_ser.wxss b/packageA/pages/cart2_ser/cart2_ser.wxss new file mode 100644 index 0000000..5fb43ab --- /dev/null +++ b/packageA/pages/cart2_ser/cart2_ser.wxss @@ -0,0 +1,924 @@ +@import '../../../app.wxss'; + +.bdr_t-14 { + border-top-left-radius: 14rpx; + border-top-right-radius: 14rpx; +} +.bdr_b-14 { + border-bottom-left-radius: 14rpx; + border-bottom-right-radius: 14rpx; +} +.bdr14 { + border-radius: 14rpx; +} +.mgt20 { + margin-top: 20rpx; +} +.shadow { + box-shadow: 0 4rpx 12px #e7e9eb; +} +.shadow-1 { + box-shadow: 16rpx 0px 12px #e7e9eb; +} + + +page { + /* background-color: #FAFAFA; */ + background-color: #F0F0F0; + padding: 0 22rpx; + box-sizing: border-box; +} +.container { + background-color: #F0F0F0; + /* padding-top: 28rpx; */ + padding-bottom: 120rpx; +} +.user-mes { + position: relative; + background-color: #fff; + font-size: 32rpx; + color: #444; + /* margin-top: 28rpx; */ + border-radius: 14rpx; +} +.user-contact { + padding: 24rpx 26rpx; + font-weight: 600; +} + +.location { + position: relative; + padding: 0 70rpx 24rpx; +} + +.pos-icon { + position: absolute; + left: 28rpx; + top: 6rpx; + width: 30rpx; + height: 36rpx; +} + +.border-img { + width: 100%; + height: 12rpx; +} + +.update-logistics { + position: absolute; + right: 0; + top: 0; + width: 80rpx; + height: 100%; + display: flex; + align-items: center; + justify-content: center; +} + +.arrow-rigth { + width: 32rpx; + height: 32rpx; +} + +.order-meg { + margin-bottom: 20rpx; + font-size: 28rpx; + +} + +.order-detail { + padding: 30rpx 0; + border-bottom: 2rpx solid #eee; + color: #777; + min-height: 190rpx; + background-color: #fff; + +} + +.goods-img { + float: left; + width: 200rpx; + height: 200rpx; + margin: 0 20rpx; +} + +.order-cont { + float: left; + width: 438rpx; +} + +.goods-name { + height: 74rpx; + line-height: 40rpx; + overflow: hidden; + margin-bottom: 16rpx; + font-size: 28rpx; + color: #333; +} + +.goods-color { + font-size: 24rpx; +} + +.order-num { + margin-top: 25rpx; + font-size: 24rpx; + line-height: 42rpx; +} + +.set-mes{ + background-color: #fff; + /* margin-top: 20rpx; */ +} +.use-item{ + display: flex; + align-items: center; + height: 80rpx; + /* border-bottom: 1px solid #ddd; */ + font-size: 30rpx; + /* width:95%; +margin:auto; */ + padding: 0 26rpx; +} +.use-item>view{ + display: flex; + /* margin-right: 12rpx; */ +} +.use-item.bfff{ + background-color: #fff; +} +.use-item .dp{ + display: block; + width: 50rpx; + height: 50rpx; + margin-left: -6rpx; +} + +.set-item { + justify-content: space-between; + background-color: #fff; +} + +.set-btn { + display: flex; + font-size: 24rpx; +} + +.set-mes input { + width: 380rpx; + height: 50rpx; + line-height: 50rpx; + border: 1px solid #ddd; +} + +.use-btn { + width: 100rpx; + height: 50rpx; + margin-left: 20rpx; + line-height: 50rpx; + text-align: center; + background-color: #f23030; + color: #fff; +} + +.coupon-mes { + /* box-sizing: border-box; */ + height:95rpx; + padding: 0 26rpx; + background-color: #fff; + font-size: 30rpx; + color: #444; + /* width: 100%; */ + border-radius: 14rpx; + margin-top: 20rpx; + margin-bottom: 20rpx; +} + +.coupon-title { + display: flex; + justify-content: space-between; + align-items: center; + height: 92rpx; +} + +.coupon-title>view { + display: flex; +} + +.coupon-num { + height: 36rpx; + margin-left: 20rpx; + padding: 0 16rpx; + line-height: 36rpx; + text-align: center; + background-color: #f23030; + color: #fff; + font-size: 24rpx; +} + +.leave-word { + position: relative; + font-size: 24rpx; + margin-left: 20rpx; + flex-grow: 1; +} + +.word-box { + font-size: 26rpx; + /* width: 600rpx; */ + padding: 10rpx; + height: 28rpx; + line-height: 40rpx; +} + +.max-word { + position: absolute; + right: 0; + bottom: 0; +} + +.information { + padding: 0 26rpx; + background-color: #fff; + /* margin-bottom: 120rpx; */ +} + +.information .item { + display: flex; + justify-content: space-between; + height: 60rpx; + line-height: 60rpx; + font-size: 26rpx; + color: #777; +} + +.btn-wrap { + height: 94rpx; + box-sizing: border-box; + display: flex; + justify-content: space-between; + background-color: white; + align-items: center; + position: fixed; + bottom: 0; + left: 0; + width: 100%; + padding: 0 30rpx; +} + +.tips-btn { + color: white; + background-color: #FE4445; + height: 72rpx; + line-height: 72rpx; + padding: 0 42rpx; + border-radius: 36rpx; + margin-left: 0; + margin-right: 0; +} + +.payable { + color: #444; +} + +.shipping-modal { + z-index: 20; + position: fixed; + bottom: 0; + left: 0; + right: 0; + overflow-y: hidden; + color: #666666; + background-color: white; +} + +.shipping-nav { + text-align: center; + font-size: 35rpx; + padding-top: 30rpx; +} + +.shipping-list { + padding: 20rpx 30rpx 40rpx; + font-size: 28rpx; +} + +.shipping-item { + display: block; + padding: 20rpx 0; +} + +.shipping-btn { + width: 100%; + color: white; + background-color: #f23030; + line-height: 90rpx; + text-align: center; + font-size: 40rpx; +} + +/*----------nyf新增,地址---------*/ +.add_new{ + height: 90rpx; + display: flex; + align-items: center; + padding: 0 26rpx; +} +.addr_jia{width: 45rpx; height: 45rpx; border: 1rpx solid #ddd; + margin-right: 15rpx;vertical-align: middle;} +.yu_er{ + margin-left: 10rpx; + /* margin-right: 60rpx; */ +} +.wuliu{margin-left: 20rpx;} + + +/*---- 优惠券列表 -----*/ +.xc-coupon-frame{ + width: 100%; + height: 92rpx; + +} +.xc-coupon-frame .work-frame{ + width: 100%; + height: 100%; + border-bottom:3rpx solid #eee; + padding: 0 26rpx; + background-color: white; +} +.xc-right{ + width:20rpx; + height:20rpx; + border-top:2rpx solid #000; + border-right:2rpx solid #000; + transform:rotate(45deg); + display:inline-block; +} + +.xc-coupon-frame .work-frame .work{ font-size: 30rpx; line-height: 92rpx; } +.xc-right-frame{font-size: 30rpx;line-height: 92rpx; margin-right: 10rpx } + +/* 自定义弹出窗口 */ +.cx-popup{ + width:100%; + height:880rpx; + background: #fff; + z-index: 35; + border-top-left-radius: 20rpx; + border-top-right-radius: 20rpx; + position:fixed; + bottom:0; + left: 0; + /* padding-bottom: 25rpx; */ +} + +.cx-popup .top{ + width:95%; + height:100rpx; + border-bottom:3rpx solid #ddd; + margin: auto; + margin-top: 30rpx; + +} +.xc-top-content{ + width: 93%; + height:85rpx; + padding-top: 30rpx; + font-size: 34rpx; + font-weight: 600; + +} + + +.xc-valid-coupon{ + width: 90%; + height:40rpx; + padding-top: 24rpx; + overflow: hidden; +} +.xc-frame{ + width: 100%; + height:60%; +} + +.xc-frame .list-frame{ + width: 95%; + height: 100%; + overflow-y:scroll; + +} +.xc-close-frame{ + margin-top:-10rpx; + +} + +.xc-close{ + width: 37rpx; +height: 37rpx; +border-radius: 50%; +border: 3rpx solid #333; +text-align: center; +line-height: 34rpx; +font-size: 29rpx; +color: #333; + +} +.xc-money{ + color: #af2346; + font-size: 35rpx; +} + +.xc-money-frame{ + margin-left:35rpx; + +} +.xc-coupon-effect{ + width: 99%; + min-height: 100rpx; + border-bottom:3rpx solid #ddd; + + +} +.xc-goods-coupon{ + width: 85%; + height:100%; + +} +.xc-title{ + width:50%; + margin-left:222rpx; + +} +.xc-coupon-money0{ + color: #c91e31; + font-size: 35rpx; + line-height: 40rpx; + +} +.xc-coupon-money{ + color: #c91e31; + font-size: 35rpx; + line-height: 40rpx; + padding-top: 10px; + +} +.xc-coupon-money1{ + color: #444; + font-size: 28rpx; + line-height: 60rpx; + + +} +.xc-coupon-time{ + height: 50rpx; + font-size: 27rpx; + color: #a4a4a4; +} +.xc-coupon-time .time{ + margin-left: 15rpx; + font-size: 27rpx; +} +.xc-coupon-selection{ + height:100%; +} + +.xc-confirm { + width: 50%; + border-radius: 50rpx; + height: 80rpx; + margin:0 auto; + background:#d60021; + color:#fff; + font-size:28rpx; + margin-top: 28rpx; +} + +.up{ animation: up .7s; } +.down{ animation: down 1s; } +@keyframes up { 0% { transform: translateY(550rpx); } 100% { transform: translateY(0); } } +@keyframes down { 0% { transform: translateY(0); } 100% { transform: translateY(550rpx); } } + +.xc-not-Selection{ + width: 40rpx; +height: 40rpx; + background: #eeeeee; +} + + +.xc-close-express{ + width: 40rpx; +height: 40rpx; +border-radius: 50%; +border: 3rpx solid #333; +text-align: center; +font-size:32rpx; +line-height: 38rpx; +color: #333; +margin-top: 5rpx; +} +.cx-popup .tops{ + width: 100%; +height: 145rpx; +border-bottom: 3rpx solid #eee; + +} +.top-content { + width: 82%; +padding-top: 33px; +height: 100%; +padding-left: 40rpx; +} +.close-frame{ + margin-top: 30rpx; + +} + +.xc-hook { +width: 33rpx; +height: 33rpx; +transform: rotate(-135deg); +line-height: 35rpx; +text-align: center; +margin-right: 20rpx + + +} +.xc-hooks { +width: 30rpx; +height: 30rpx; +border: 1rpx solid #999; +margin-right: 20rpx; +} +.express_list_frame{ + display: flex; +height: 80rpx; +align-items: center; +padding-left: 40rpx; +border-bottom: 1rpx solid #eee; + +} +.express_list{ + width: 100%; + height: 65%; + overflow-y: auto; + margin-bottom: 40rpx; + +} +.xc-confirms { + box-sizing: border-box; + width: 40%; + border-radius: 50rpx; + height: 80rpx; + margin:0 auto; + font-size:28rpx; + background: #fff; + color: #333; + border: 2rpx solid #333; +} + + +/* 优惠券的改版样式 */ +.xc-coupon-frame{ + /* width: 710rpx; */ + width: 100%; + height:auto; + margin: 0 auto; + +} +.xc-coupon-frame .coupon-frame{ + width: 100%; + height: 200rpx; + margin-top:10rpx; + border-bottom: 1rpx solid #eee; + +} +.xc-coupon-frame .coupon-frame .coupon-left{ + width: 215rpx; + height:100%; + overflow: hidden; +} +.xc-money-frames{ + width:96%; + margin-top: -10px; +} + +.xc-rmb-symbol{ + font-size:40rpx; + +} + +.xc-rmb-val{ + font-size:60rpx; + +} +.coupon-explain{ + font-size:25rpx; +width:100%; + + +} +.xc-valuer{ + margin-top:39rpx; + margin-left:28rpx; + font-size:25rpx; +} +.coupon-frame .oval{ + width:155rpx; + height:83rpx; + border-radius: 50%; + right:-78rpx; + top:-37rpx; +} +.coupon-right{ + height: 99%; + border-top: 1rpx solid #eaeaea; + border-right: 1rpx solid #eaeaea; + flex-grow: 1; +} +.coupon-annotation{ + width: 95%; + height: 100%; + +} +.xc-brand{ + width:100rpx; + height:35rpx; + line-height: 35rpx; + font-size:21rpx; + border-radius:10rpx; position: relative; top:-1px; + margin-right: 8rpx +} +.top-frame{ + width:82%; + height: 75rpx; + margin-top:10rpx; +} +.top-frame .coupon-wode{ + font-size: 25rpx; + margin-left:10rpx; + width:340rpx; + height:88rpx; +} +.coupon-code{ + width:60rpx; + height:60rpx; + margin-top:5rpx; + +} +.frame{ + width: 100% +} +.coupon-time{ + font-size: 23rpx; + line-height:33rpx; + color: #333; +} + +.clik-get{ + width:125rpx; + height:45rpx; + border-radius: 25rpx; + line-height: 45rpx; + font-size:25rpx; + bottom:67rpx; + right:6px; +} + +.code-img{ + margin-left:20rpx; +} +.bottmo-explain{ +top:145rpx; +width:94%; +border-top:1rpx dashed #eee; +padding-top:8rpx; +height:38rpx; +line-height: 51rpx; + +} +.font-word{ + font-size: 22rpx; +} +.circle-size{ + background: #a0a0a0; + width: 27rpx; + height: 27rpx; + margin-top:13rpx; + margin-left:8rpx; + display: flex; + align-items: center; +} +.xc-jiantou{ + transform: rotate(-90deg); + color: #fff; + font-size: 15rpx; + text-align: center; + width: 24rpx; +} +.xc-buttom{ + box-sizing: border-box; + width:100%; + min-height:76rpx; + height:auto; + line-height:40rpx; + border-left:1rpx solid #eee; + border-right:1rpx solid #eee; + border-bottom:1rpx solid #eee; +} + +.goods-num{ + font-size: 28rpx; + color: #333; +} + +.explain-coupon{ + font-size:25rpx; + padding: 10rpx 10rpx +} +.circle-frame{ + width: 20rpx; + height: auto; + z-index:1; + left:210rpx; + +} +.circle-sawtooth{ + width: 11rpx; + height: 11rpx; + background: #fff; +} + +.red{background-color: #fe7496;} +.green{ background-color: #22c7c1;} +.blue{background-color:#5e82e3;} +.g_gray{background-color: #aaaaaa} + +.f_text{text-align: center; height:96rpx; } +.xc-hook.sn { + margin-top:12%; +width:45rpx; +height:45rpx; +font-size:28rpx; +line-height:44rpx; + + +} +.xc-hooks.on{ + margin-top:12%; +width:42rpx; +height:42rpx; +} +.may_use_coupon{ + /* width: 95%; */ + /* height: 68rpx; */ + line-height:78rpx; + padding: 0 26rpx; + justify-content: space-between; + align-items: center; +} +.determine-frame{ + width: 100%; + height: 130rpx; + +} +.xc-determine{ + height: 80rpx; + width: 40%; + border-radius: 50rpx; +background: #d60021; +color: #fff; +font-size: 28rpx; +margin: 0 auto; + +} +.click-buttem{ +width: 90%; +margin: auto; +} +.logistics-name{ + margin-right:20rpx; +} +.xc-border{ + border-top:8rpx solid #eee; +width: 100% +} +.main-top{ +margin-top: 20rpx; + +} +.xc-hookts{ +border: 1rpx solid #999; + +} +.xc-hookts.on{ + width:30rpx; +height:30rpx; + +} +.xc-hookt.sn{ + width: 32rpx; +height: 32rpx; +font-size: 28rpx; +line-height: 34rpx; +} +.xc-hookt{ + transform: rotate(-135deg); +text-align: center; + +} +.main-bottom{ + margin-bottom: 20rpx; + +} +.xc-hookst{ + border: 1rpx solid #999; + +} +.xc-hookst.ons{ + width: 42rpx; +height: 42rpx; +margin-left: 20rpx; + +} +.is_use_coupon{ + width: 65%; +justify-content: flex-end; +padding-top: 10rpx; + + +} +.xc-hooka{ + transform: rotate(-135deg); +text-align: center; + +} +.xc-hooka.sn{ + width: 45rpx; +height: 45rpx; +font-size: 28rpx; +line-height: 44rpx; +margin-left: 20rpx; + +} +.color-gray{ + color: #808080; +} +.n_guige{ display: inline-block; background:rgb(236, 236, 236); color: rgb(63,63,63); padding: 3rpx 10rpx; border-radius: 3rpx } +.gift_image{ width: 60rpx; height: 60rpx; position: absolute; top: 0; left: 0} + +.quan_num_show{ padding: 4rpx 6rpx; background-color:#ea5551; color:#fff; border-radius: 6rpx;margin-left:10rpx;font-size:24rpx;} + +.navigator-hover { + background: none; + opacity: 1; +} + +.plus_buy{ + background-color: #fff; + margin:15rpx 0; + padding: 20rpx 10rpx; + position: relative; +} + +.card_bg { + box-sizing: border-box; + padding: 2rpx 10rpx; + height: 28rpx; + border-radius: 26rpx; + font-size: 18rpx; + line-height: 28rpx; + max-width: 210rpx; + background: #333; + color: #fff; + margin-left: 8rpx; + position:relative; + top:7rpx; +} + +.card_bg image { + width: 19rpx; + height: 19rpx; + margin-right: 8rpx; +} + +.card_name { + position: relative; + top: -4rpx; + margin-left: 6px; +} + +.car_tri_up { + width: 0;height: 0; + border-left: 20rpx solid transparent; + border-right: 20rpx solid transparent; + border-bottom: 20rpx solid #fff; + position: absolute; + right: 20rpx; + top:-10rpx +} +.card_op{ + position: absolute; + right: 20rpx; + top:36rpx +} + diff --git a/packageA/pages/goodsInfo/goodsInfo.js b/packageA/pages/goodsInfo/goodsInfo.js index 708a1e2..3628645 100644 --- a/packageA/pages/goodsInfo/goodsInfo.js +++ b/packageA/pages/goodsInfo/goodsInfo.js @@ -34,9 +34,7 @@ Page({ data: null, content: "", //商品详情 - comments: null, //商品评论 - c_curr_p: 1, //评论分页 - com_num: 0, //评论人数 + gallery: null, //图片滚动 is_collect: 0, collect_id: 0, @@ -45,8 +43,7 @@ Page({ optionItemId: 0, goodsInputNum: 1, openSpecModal: !1, - openSpecModal_pt: !1, //拼单的弹起, - openPromModal: !1, + activeCategoryId: 0, supportPageScroll: !1, address: { @@ -108,15 +105,13 @@ Page({ activity: null }, - //已选的商品(属性) - sele_g_spec_name: '', - sele_g_id: '', - sele_g: null, + //门店相关 ismend: 0, is_sec_mend: 0, sto_sele_name: "", //选中的门店名称 sto_sele_id: "", //选中的门店id + sto_sele_keyid:'', //选中的门店线下 sto_sele_distr: "", //选择的门店的配送方式 is_show_sto_cat: 1, //是否显示门店分类 only_pk: null, @@ -127,44 +122,17 @@ Page({ sec_pick_index: 0, //第二级门店选择ID fir_pick_index: 0, //第一级门店选择ID all_pick_list:null,//所有的门店先记录起来 - //同一条形码的所有商品 - sku_g: null, - sku_g_pt: null, //---拼单的普通购买--- + //联系电话 mobile: '', - //分类,品牌,国别名称 - cat_name: '', - brand_name: '', - nation_name: '', - //商品的活动类型 0普通 1秒杀 2团购 3优惠 4 积分购 6拼单 - prom_type: 0, - prom_time_text: "", - prom_price: null, - prom_buy_limit: 0, - djs: null, - prom_st: 0, - prom_r_null: 0, - prom_end_time: null, - prom_start_time: null, - prom_act: null, - pd_xx: 0, - is_normal: 0, //是否普通购买 - teamgroup: null, //有多少人开团 - grounp_tatal: 0, //有几个人开团 timer: [], //商品的购买次数 prom_buy_num: -1, g_buy_num: null, - prom_goods_num: 0, //活动商品数量 - prom_buy_num: 0, //活动商品购买数量 - prom_redis_num: 0, //活动商品redis数量 - - //拼单的规则显示 - is_show_gz: 0, + //会员自己的购买的拼单商品的情况 - user_order_pt_state: 0, //购买的订单 buy_order: null, //1加入购物车 2立即购买 @@ -175,11 +143,6 @@ Page({ isshow: 0, bconfig: null, //基础配置 - fir_comments: null, //详情页上的评价 - fir_quan: null, //详情页上的券 - quan_list: null, //券列表 - - coupon: 0, //会员分享的头像 share_head: "", share_goods_img: "", @@ -189,15 +152,6 @@ Page({ swiperCurrent: 0, //轮播的下标 hiddenn: 0, //控制轮播计数显示 - currentTab: 0, // 选择器控制参数 - mapurl: "", - mapurl_f_img: "", - videopicture: 0, //视频图片的控制 - - video: 0, //视频图片切换器 - index: 0, - noon: 0, //开始视频的隐藏 - screenWidth: 0, canvasHidden: 1, @@ -208,8 +162,6 @@ Page({ is_show_gb: 0, //是否国别 is_closecoupon: 0, - //是否点赞中 - iszaning: 0, select_store: 0, //选择更多 index: 1, @@ -230,51 +182,39 @@ Page({ default_store: {}, //创建添加默认门店地址的对象 comments_no_more:0, - get_c:0, //获取评价是不是成 + is_collect_load:0, //是不是处理 is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存 sales_rules:1, //默认是线上销售 wait_for_user_store:null, - prom_goods:null, //商品优惠列表 - order_prom:null, //订单优惠 - collocationGoods:null, //搭配购 - poster:null, //自定义海报 - share_b_img:'', //自定义分享的背景 - + share_b_img:'', //自定义分享的背景 showPoster: false, hui_condition:null, sto_sele_name_1:'',//分享的门店名称 - + }, //------初始化加载---------- onLoad: function(t) { - // wx.setNavigationBarTitle({ - // title: "商品详情", - // }) + var ee = this, that = ee, th = ee, gid = t.goods_id, - first_leader=t.first_leader, - room_id=t.room_id, - room_user_share=t.room_user_share; //如果是会员分享带有room_id的话,那么接下来会员分享就不传room_id - + first_leader=t.first_leader; + //-- 自定义海报 -- getApp().request.promiseGet("/api/weshop/goods/poster/page", { data:{store_id:os.stoid, type:1, is_use:1} }).then(res=>{ - if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData[0]){ - + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData[0]){ var poster_data=res.data.data.pageData[0]; - var json_str=poster_data.jsonStr; - + var json_str=poster_data.jsonStr; if(json_str){ var json_data=JSON.parse(json_str); - if(json_data.bg_img){ - + if(json_data.bg_img){ //-- 把图片那到本地 -- wx.getImageInfo({ src:json_data.bg_img, @@ -285,8 +225,7 @@ Page({ fail: function(res) {} }); } - th.setData({poster:json_data}) - + th.setData({poster:json_data}) } } }) @@ -308,9 +247,7 @@ Page({ } ee.setData({ gid: gid}); - if(first_leader){ - console.log("log---".first_leader); - + if(first_leader){ getApp().globalData.first_leader=first_leader; //调用接口判断是不是会员 getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+os.stoid+"/"+first_leader,{}).then(res=>{ @@ -319,16 +256,6 @@ Page({ } }) } - - //-- 如果有房间号 -- - if(room_id){ - getApp().globalData.room_id=room_id; - getApp().globalData.room_goods_id=gid; - //如果是会员分享过来的要记录 - if(room_user_share) - getApp().globalData.room_user_share=room_user_share; - } - var c_guide_id=t.c_guide_id; if(c_guide_id){ th.data.c_guide_id=c_guide_id; @@ -340,75 +267,19 @@ Page({ //----获取系统参数----- getApp().getConfig2(function(e) { - ee.setData({ - bconfig: e, - sales_rules:e.sales_rules, - }); - - if (e.categoryset.indexOf("," + 1 + ",") != -1) { - ee.setData({ - is_show_pl: 1 - }); - } - if (e.categoryset.indexOf("," + 3 + ",") != -1) { - ee.setData({ - is_show_pp: 1 - }); - } - if (e.categoryset.indexOf("," + 2 + ",") != -1) { - ee.setData({ - is_show_gb: 1 - }); - } - + 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 }); - ee.init(gid); - //------几人评价------- - //n.init(th, "", "comments"); - + + th.requestCardNum(), wx.pageScrollTo && th.setData({ supportPageScroll: !0 }); - //计算等级价相关 - 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 ti = setInterval(function () { - var user = getApp().globalData.userInfo; - if (!user) return false; - clearInterval(ti); - - 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 && now6) card_name=card_name.substring(0,6); - - var is_near_date=0; - if(end-now<60*60*30*24) is_near_date=1; //如果小于30天 - th.setData({card_field:user.card_field,card_name:card_name,card_list:ob.card_list,is_near_date:is_near_date}); - } - } - }, 500) - }) - } - + },1); //获取用户设备信息,屏幕宽度 @@ -430,12 +301,9 @@ Page({ //--定时器推迟一下-- setTimeout(function () { if(th.data.data) var g_distr_type=th.data.data.distr_type; - //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对-- - if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ - //th.data.fir_def_store={}; //赋值空对象 - //return false; - //th.data.fir_def_store.is_no_dis=1; - ee.is_no_dis=1; + //--如果默认门店不在等级卡的默认们店以内 + if(that.data.storageId!=null && that.data.storageId!="" && that.data.storageId.indexOf(ee.keyid)==-1){ + ee.is_no_dis=1; } var appd=getApp().globalData; @@ -454,7 +322,8 @@ Page({ def_pick_store: e, sto_sele_name: e.pickup_name, sto_sele_id: e.pickup_id, - sto_sele_distr: e.distr_type + sto_sele_distr: e.distr_type, + sto_sele_keyid:e.keyid, }) }else{ //要用接口是获取距离,js的计算不准 @@ -471,7 +340,8 @@ Page({ def_pick_store: e, sto_sele_name: e.pickup_name, sto_sele_id: e.pickup_id, - sto_sele_distr: e.distr_type + sto_sele_distr: e.distr_type, + sto_sele_keyid:e.keyid, }) } @@ -491,7 +361,8 @@ Page({ def_pick_store: e, sto_sele_name: e.pickup_name, sto_sele_id: e.pickup_id, - sto_sele_distr: e.distr_type + sto_sele_distr: e.distr_type, + sto_sele_keyid:e.keyid, }) } } @@ -501,186 +372,21 @@ Page({ }); }, - //------------程序初始化入口------------- - async init(gid) { - var ee = this, - th = ee, - gallery = null, - is_collect = 0, - collect_id = 0, - categories3 = ee.data.categories3, - fir_com = null, - fir_quan = null, - mapurl = null, - mapurl_f_img = null; - - - //------图片滚动---------- - await getApp().request.promiseGet("/api/weshop/goodsimages/page", { - data: { - store_id: os.stoid, - goods_id: gid, - }, - }).then(res => { - - var t = res; - var g = t.data.data.pageData; - if (g.length == 0) { - var ie = { - "image_url": o.imghost + "/public/images/default_goods_image_240.gif" - }; - g.push(ie); - gallery = g; - return; - } - for (var i = 0; i < g.length; i++) { - if (g[i].image_url.indexOf(o.imghost) == -1) - g[i].image_url = o.imghost + g[i].image_url; - } - gallery = g; - }) - //------是否收藏---------- - await getApp().request.promiseGet("/api/weshop/goodscollect/page", { - data: { - store_id: os.stoid, - goods_id: gid, - user_id: oo.user_id, - } - }).then(res => { - var t = res; - var data = t.data.data.pageData; - if (data.length > 0) { - //ee.setData({ is_collect: 1, collect_id: data[0].collect_id, }); - is_collect = 1; - collect_id = data[0].collect_id; - } - }) - - //------获取评价的统计数量---- - await getApp().request.promiseGet("/api/weshop/comment/countlist/", { - data: { - store_id: os.stoid, - goods_id: gid - }, - //failRollback: !0, - - }).then(res => { - var t = res; - var g = t.data.data[0]; - if (g != null && g != undefined) { - var allnum = g.c0 + g.c1 + g.c2 + g.c3 + g.c4 + g.c5; - var num2 = g.c4 + g.c5; - var num3 = g.c3; - var num4 = g.c0 + g.c1 + g.c2; - - var dd = ee.data.categories3; - dd[0].num = allnum; - dd[1].num = g.cimg; - dd[2].num = num2; - dd[3].num = num3; - dd[4].num = num4; - - categories3 = dd; - } - }) - - //----获取详情页的评价---- - await getApp().request.promiseGet("/api/weshop/comment/pageComment", { - data: { - store_id: os.stoid, - goods_id: gid, - pageSize: 3, - parent_id: 0, - page:1, - is_show:1, - }, - }).then(res => { - fir_com = res.data.data.pageData; - }) - - if (fir_com) { - for (var ind in fir_com) { - if (fir_com[ind].head_pic == "") fir_com[ind].head_pic = ee.data.iurl + "/miniapp/images/hui_hear_pic.png"; - if (fir_com[ind].img) fir_com[ind].img = ut.unserialize(fir_com[ind].img); - if (fir_com[ind].weapp_img) fir_com[ind].weapp_img = JSON.parse(fir_com[ind].weapp_img); - } - } - - if (th.data.is_closecoupon != 1) { - //----获取详情页的券的数量---- - await getApp().request.promiseGet("/api/weshop/prom/coupon/pageCouponList", { - data: { - store_id: os.stoid, - type: 1, - pageSize: 3, - page: 1, - is_share:0, - }, - }).then(res1 => { - fir_quan = res1.data.data.pageData; - }) - } - - //--------获取视频图片--------- - // await getApp().request.promiseGet("/api/weshop/goodsVideos/get/" + os.stoid + "/" + ee.data.gid, { - // 1: 1 - // }).then(res1 => { - // if (res1.data.code == 0) { - // mapurl = res1.data.data.video_url; - // mapurl_f_img = res1.data.data.video_img; - // } - // }) - - ee.setData({ - gallery: gallery, - is_collect: is_collect, - collect_id: collect_id, - categories3: categories3, - fir_quan: fir_quan, - fir_comments: fir_com, - mapurl_f_img: mapurl_f_img, - mapurl: mapurl, - }); - - }, + async init(gid) {}, //---展示--- onShow: function() { - var goods_list = null,th = this,that=this; - - //优惠券要实时更新 - getApp().getConfig2(function(e) { - var json_d = JSON.parse(e.switch_list); - th.setData({is_closecoupon: json_d.is_closecoupon}) - th.setData({is_open_offline: json_d.is_pricing_open}) - },1) - - - var ui = setInterval(function () { - goods_list = th.selectComponent("#goods_list"); - if (goods_list) { - clearInterval(ui); - goods_list.init(); - return false - } - }, 300) - + var that=this; this.data.is_timer = 1; - var ee = this, - gid = this.data.gid, - i = getApp().request; - - this.wait_for_store_config(); + var ee = this,gid = this.data.gid, i = getApp().request; + this.wait_for_store_config(); i.get("/api/weshop/serviceCard/get/" + o.stoid + "/" + ee.data.gid, { failRollback: !0, success: function(t) { if (t.data.code == 0) { - console.log('xx==><==', t.data.data); - // let data = { - // goods_name: t.data.data.serviceName, - // }; + that.setData({ 'data.goods_name': t.data.data.serviceName, 'data.shop_price': t.data.data.money, @@ -688,188 +394,26 @@ Page({ 'data.serviceContent': t.data.data.serviceContent, 'data.image_url': t.data.data.imgUrl, 'data.goods_id': t.data.data.id, - }); - // self.setData({ - // details: t.data.data, - // data, - // }); - // if (t.data.data.is_on_sale != 1) { - // wx.showModal({ - // title: '商品已经下架', - // showCancel: !1, - // complete: function() { - // wx.navigateBack(); - // } - // }); - // } - - // var timestamp = Date.parse(new Date()); - // timestamp = timestamp / 1000; - // if (t.data.data.on_time > timestamp) { - // wx.showModal({ - // title: '商品还未上架', - // showCancel: !1, - // complete: function() { - // wx.navigateBack(); - // } - // }); - // } - - // if (t.data.data.down_time > 0) { - // if (t.data.data.down_time < timestamp) { - // wx.showModal({ - // title: '商品已经到期下架', - // showCancel: !1, - // complete: function() { - // wx.navigateBack(); - // } - // }); - // } - // } - - // ee.check_is_youhui(ee.data.gid); - - // t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); - // var txt = (t.data.data.shop_price / t.data.data.market_price * 10).toFixed(2).toString(); - - - // if(txt != 0) { - // if(txt.indexOf('.') != -1) { - // var arrtxt = txt.split('.'); - // if(arrtxt[1].length == 1 && arrtxt[1][0] == 0) { - // txt = txt.slice(0,-2); - // }; - - // if(arrtxt[1].length == 2 && arrtxt[1][1] == 0) { - // txt = txt.slice(0,-1); - // }; - // }; - // } else { - // txt = 0; - // } + 'data.id': t.data.data.id, + }); + + //-----商品详情--- + if(!t.data.data.serviceContent) t.data.data.serviceContent=" "; + a.wxParse("content", "html", t.data.data.serviceContent, ee, 6); + e.wxParseAddFullImageUrl(ee, "content"); + + //获取重表 + getApp().promiseGet("/api/weshop/serviceItem/list",{ + data:{store_id:o.stoid,service_id:t.data.data.id} + }).then(res=>{ + if(res.data.code==0){ + var list=res.data.data; + that.setData({service_list:list}) + } + }) - // t.data.data['disc'] = txt; - - // if (t.data.data.original_img.indexOf(o.imghost) == -1) - // t.data.data.original_img = o.imghost + t.data.data.original_img; - - // if (t.data.data.goods_content == null) t.data.data.goods_content = ""; - - // //-----商品详情--- - // if(!t.data.data.goods_content) t.data.data.goods_content=" "; - // a.wxParse("content", "html", t.data.data.goods_content, ee, 6); - // e.wxParseAddFullImageUrl(ee, "content"); - - // ee.setData({ - // data: t.data.data, - // sele_g: t.data.data, - // userInfo:getApp().globalData.userInfo - // }); - - - // //获取统一条形码,普通商品和优惠促销的商品 - // if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 2 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5){ - // //默认门店要拿下门店库存 - // if(that.data.sales_rules==2 && that.data.is_newsales_rules){ - // //获取门店 - // ee.get_sto(); - // //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 - // getApp().waitfor2(that,"wait_for_user_store","fir_def_store",function(){ - // if(th.data.fir_def_store && th.data.fir_def_store.pickup_id ){ - // var lock=0,plist=null; - // //先读取门店的lock,采用链式写法,少用await - // getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - // data:{store_id:os.stoid,wareId:ee.data.data.goods_id,storageId:that.data.fir_def_store.pickup_id,pageSize:1000} - // }).then(res=>{ - // if(res.data.code==0 && res.data.data.total>0){ - // for(var i in res.data.data.pageData) - // lock+=res.data.data.pageData[i].outQty - // } - // //---通过接口获取门店的线下库存信息-- - // return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - // data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} - // }) - // }).then(res=>{ - // if(res.data.code==0 && res.data.data.total>0){ - // plist=res.data.data.pageData[0]; - // } - // if(plist && plist.CanOutQty-lock>0){ - // that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock; - // }else{ - // that.data.fir_def_store.CanOutQty=0; - // } - // //--给门店赋值线下库存-- - // th.setData({def_pick_store:that.data.fir_def_store}); - // }) - // } - // }) - // }else{ - // //获取门店 - // ee.get_sto(); - // } - - // ee.get_sku(o.stoid, t.data.data.sku, gid); - // } - // else { - // var gg = "", item = t.data.data; - - // if(item.goods_spec=="null" || item.goods_spec==null ) item.goods_spec=""; - // if(item.goods_color=="null" || item.goods_color==null) item.goods_color=""; - - // if (item.goods_spec != "" && item.goods_color != "") { - // gg = item.goods_spec + "/" + item.goods_color; - // } else if (item.goods_spec != "" || item.goods_color != "") { - // gg = item.goods_spec + item.goods_color; - // } else { - // gg = "规格1"; - // } - // t.data.data.gg = gg; - // var uu = []; - // uu.push(t.data.data); - // ee.setData({ - // sku_g: uu, - // }); - // } - // ee.data.g_buy_num = new Map(); - // ee.check_prom(gid, ee.data.data.prom_type, ee.data.data.prom_id); - - // var th = ee; - // if (ee.data.cat_name == '') { - // //过去国别,分类,品牌的名称 - // i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, { - // success: function(t) { - // var dd = t.data.data; - // if (t.data.code == 0) { - // th.setData({ - // cat_name: dd.name - // }); - // } - // } - // }); - // //过去国别,分类,品牌的名称 - // i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, { - // success: function(t) { - // var dd = t.data.data; - // if (t.data.code == 0) { - // th.setData({ - // brand_name: dd.name - // }); - // } - // } - // }); - // //过去国别,分类,品牌的名称 - // i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, { - // success: function(t) { - // var dd = t.data.data; - // if (t.data.code == 0) { - // th.setData({ - // nation_name: dd.name - // }); - // } - // } - // }); - // } + } else { wx.showModal({ @@ -883,6 +427,7 @@ Page({ } }); this.data.enterAddressPage && (this.data.enterAddressPage = !1); + this.get_sto(); }, enterAddress: function() { @@ -890,6 +435,7 @@ Page({ url: "/pages/user/address_list/address_list?operate=selectAddress" }); }, + onUnload: function() { for(var i = 1; i < 100; i++) { clearInterval(i); @@ -945,811 +491,102 @@ Page({ this.setData({ activeCategoryId: 1 }); - - if (th.data.cat_name == '') { - //过去国别,分类,品牌的名称 - i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, { - success: function(t) { - var dd = t.data.data; - if (t.data.code == 0) { - th.setData({ - cat_name: dd.name - }); - } - } - }); - //过去国别,分类,品牌的名称 - i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, { - success: function(t) { - var dd = t.data.data; - if (t.data.code == 0) { - th.setData({ - brand_name: dd.name - }); - } - } - }); - //过去国别,分类,品牌的名称 - i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, { - success: function(t) { - var dd = t.data.data; - if (t.data.code == 0) { - th.setData({ - nation_name: dd.name - }); - } - } - }); - } - }, - - //获取redis中的数量 - async getactLen(func) { - var r_num = 0, - prom_type = this.data.prom_type, - prom_id = this.data.prom_id; - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { - 1: 1 - }).then(res => { - var em = res; - if (em.data.code == 0) { - r_num = em.data.data; - } - }) - func(r_num); }, + //------------加入购物车-------------- addCart: function(t) { var th = this; var ind = t.currentTarget.dataset.openSpecModal_ind; + var action= t.currentTarget.dataset.action; if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind; - th.setData({ + + th.setData({ open_ind_store: ind }); - //如果是秒杀的话,要看redis够不够 - if (this.data.prom_type == 1) { - this.getactLen(function(num) { - if (num < th.data.goodsInputNum) { - getApp().my_warnning("秒杀库存不足!", 0, th); - return false; - } else { - th.add_cart_func(t); - } - }); - } else { - th.add_cart_func(t); - } - }, - - - - //-- 加入购物的函数 -- - add_cart_func_inte: function(t) { - var i = getApp().request; - if (oo.user_id == null) { - return s.my_warnning("还未登录!", 0, this); - } - if(!getApp().globalData.userInfo){ - return s.my_warnning("还未登录!", 0, this); - } - - var e = this, - th = e, - a = 0, - o = this.data.data; - 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) > th.data.sele_g.viplimited) { - wx.showModal({ - title: '提示', - content: '超出商品限购' - }); - return false; - } - } - //---判断商品是否超出活动限购--- - if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) { - if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { - wx.showModal({ - title: '提示', - content: '超出商品活动限购' - }); - return false; - } - } - - if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); - if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) - this.setData({ - sto_sele_name: "" - }); - if (th.data.sto_sele_name == "") 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: th.data.stoid, - goods_price: th.data.prom_price, - integral:th.data.prom_integral, - member_goods_price: o.shop_price, - goods_name: o.goods_name, - goods_sn: o.goods_sn, - sku: o.sku, - }; - - //---是不是从收藏夹出来的--- - if(th.data.c_guide_id){ - newd['guide_id'] = th.data.c_guide_id; - newd['guide_type']=2; - if ("add" == t.currentTarget.dataset.action) newd['guide_type']=3; - }else{ - if(getApp().globalData.guide_id){ - newd['guide_id'] = getApp().globalData.guide_id; - newd['guide_type']=0; - if ("add" == t.currentTarget.dataset.action) newd['guide_type']=1; - } - } - - //让商品带上房间号 - //让商品带上房间号 - if(th.data.sys_switch.is_skuroom_id==1){ - if(th.data.data.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; - } - - //如果是积分够,is_integral_normal就要有积分购普通购买字段 - if(o.prom_type==4){ - newd.is_integral_normal=1; - } - - //-----如果是秒杀,团购,积分购,拼团----- - newd.prom_type = th.data.prom_type; - newd.prom_id = th.data.prom_id; - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); - if (o.store_count 0) { - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { - wx.showModal({ - title: '提示', - content: '超出商品限购' - }); - return false; - } - } - //---判断商品是否超出活动限购--- - if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) { - if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { - wx.showModal({ - title: '提示', - content: '超出商品活动限购' - }); - return false; - } - } - - if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); - if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) - this.setData({ - sto_sele_name: "" - }); - if (th.data.sto_sele_name == "") 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: th.data.stoid, - goods_price: o.shop_price, - member_goods_price: o.shop_price, - goods_name: o.goods_name, - goods_sn: o.goods_sn, - sku: o.sku, - }; - //---是不是从收藏夹出来的--- - if(th.data.c_guide_id){ - newd['guide_id'] = th.data.c_guide_id; - newd['guide_type']=2; - if ("add" == t.currentTarget.dataset.action) newd['guide_type']=3; - }else{ - if(getApp().globalData.guide_id){ - newd['guide_id'] = getApp().globalData.guide_id; - newd['guide_type']=0; - if ("add" == t.currentTarget.dataset.action) newd['guide_type']=1; - } - } - - //让商品带上房间号 - //让商品带上房间号 - if(th.data.sys_switch.is_skuroom_id==1){ - if(th.data.data.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; - } - - //如果是积分够,is_integral_normal就要有积分购普通购买字段 - if(o.prom_type==4){ - newd.is_integral_normal=1; - } - - //如果有线下取价 - if(o.offline_price){ - newd.offline_price=o.offline_price; - newd.pricing_type=o.pricing_type; - } - - //-----如果是秒杀,团购,积分购,拼团----- - if (th.data.prom_type == 1) { - newd.goods_price = th.data.prom_price; - newd.member_goods_price = th.data.prom_price, - newd.prom_type = th.data.prom_type; - newd.prom_id = th.data.prom_id; - - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); - if (o.store_count 0){ - var CanOutQty=res.data.data.pageData[0].CanOutQty; - if(CanOutQty0){ + closeSpecModal: function() { + this.setData({ + openSpecModal: !1, + openSpecModal_pt: !1 + }); + }, + + openSpecModel: function(t) { + var th=this; + var open_store = t.currentTarget.dataset.ind; + this.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0, + open_ind_store: open_store, + }) + //--先判断会员状态-- + var user_info = getApp().globalData.userInfo; + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { + wx.navigateTo({ + url: '/pages/togoin/togoin', + }) + return false; + } - var lock=0; - for(var i in res_data.data.data.pageData){ - lock+=res_data.data.data.pageData[i].outQty; - } + var ind = t.currentTarget.dataset.ind; + this.setData({ + openSpecModal: !0, + openSpecModal_ind: ind, + }); - if(CanOutQty<=lock){ - return s.my_warnning("库存不足!", 0, th); - } - th.add_cart_next(e,t,a,o,newd,CanOutQty-lock); - }else{ - th.add_cart_next(e,t,a,o,newd,CanOutQty); - } - } - }) - }else{ - return s.my_warnning("库存不足!", 0, th); - } - - } - } - }) - }else{ - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); - if (o.store_count now){ - var card_price=o[getApp().globalData.userInfo['card_field']]; - //如果会员有等级价 - if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null - && getApp().globalData.userInfo['card_field']!="" && card_price>0){ - newd.goods_price=card_price; - newd.member_goods_price=card_price; - } - } - } - } - - //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d); - if ("add" == t.currentTarget.dataset.action) { - - if(th.data.prom_goods){ - newd.prom_type = 3; - newd.prom_id = th.data.prom_goods[0].prom_id; - } - - //----先看会员在购物车中是否加入了该商品----- - i.get("/api/weshop/cart/page", { - data: { - store_id: e.data.stoid, - user_id: oo.user_id, - goods_id: a, - pick_id: e.data.sto_sele_id, - }, - success: function(re) { - - //-------如果购物车中有相关的数据--------- - if (re.data.data.total > 0) { - - var item = re.data.data.pageData[0]; - - //判断数量,要看下购物车中有没有该商品 - if(CanOutQty){ - if(item.goods_num+ th.data.goodsInputNum>CanOutQty){ - return s.my_warnning("库存不足!", 0, th); - } - }else{ - if(item.goods_num+ th.data.goodsInputNum>o.store_count){ - return s.my_warnning("库存不足!", 0, th); - } - } - - var updata = { - id: item.id, - goods_num: e.data.goodsInputNum + item.goods_num, - goods_price: newd.goods_price, - member_goods_price:newd.goods_price, - store_id: th.data.stoid, - }; - - //---是不是从收藏夹出来的--- - 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; - } - } - - i.put("/api/weshop/cart/update", { - data: updata, - success: function(t) { - getApp().my_warnning('加入购物车成功', 1, th, 450); - var c_num = th.data.cartGoodsNum + th.data.goodsInputNum; - th.setData({ - cartGoodsNum: c_num - }); - th.closeSpecModal(); - } - }); - } else { - - - i.post("/api/weshop/cart/save", { - data: newd, - success: function(t) { - getApp().my_warnning('加入购物车成功', 1, th, 450); - var c_num = th.data.cartGoodsNum + e.data.goodsInputNum; - th.setData({ - cartGoodsNum: c_num - }); - th.closeSpecModal(); - } - }); - } - } - }); - } - //else "exchange" == t.currentTarget.dataset.action ? this.exchange(d) : this.buyNow(d); - else { - - if(th.data.prom_goods){ - var prom_d=th.data.prom_goods; - for(var i in prom_d){ - //判断活动有俩种条件,0元 1件 - var condition_t=prom_d[i].prom_type; - switch(condition_t) { - case 0: //按钱 - if(newd.goods_price>=condition_t){ - newd.prom_type = 3; - newd.prom_id = prom_d[i].prom_id; - } - break - case 1://按购买数量 - if(newd.goods_num>=condition_t){ - newd.prom_type = 3; - newd.prom_id = prom_d[i].prom_id; - } - break; - } - } - - } - - newd['pick_name'] = th.data.sto_sele_name; - newd['pick_dis'] = th.data.sto_sele_distr; - th.buyNow(newd); - } - }, - - - //----------购买虚拟商品------ - buyVirtualGoods: function(e) { - Object.assign(e, { - goods_name: this.data.data.goods.goods_name, - spec_name: this.data.select.specName, - price: this.data.select.price - }), wx.navigateTo({ - url: "/pages/virtual/buy_step/buy_step?" + t.Obj2Str(e) - }); - }, - //----------积分兑换--------- - exchange: function(e) { - this.data.shippingCost < 0 || this.data.select.stock <= 0 || wx.navigateTo({ - url: "/pages/cart/integral/integral?" + t.Obj2Str(e) - }); - }, - - - //----------立即购买----------- - buyNow: function(e) { - // this.data.shippingCost < 0 || this.data.select.stock <= 0 || (Object.assign(e, { - // action: "buy_now" - // }), - s.set_b_now(e); - if(e.prom_type==4){ - var url="/pages/cart/cart2_inte/cart2_inte?is_bnow=1&goods_id=" + e.goods_id; - getApp().goto(url); - }else{ - wx.redirectTo({ - url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, - }); - } - }, - - //----------增加购买数量----------- - addCartNum: function(t) { - this.checkCartNum(this.data.goodsInputNum + 1); - }, - //----------减少购买数量----------- - subCartNum: function(t) { - this.checkCartNum(this.data.goodsInputNum - 1); - }, - //----------输入框输入购买数量----------- - inputCartNum: function(t) { - this.checkCartNum(Number(t.detail.value)); - }, - - //----------增加购买数量----------- - addCartNum_inte: function(t) { - this.checkCartNum_inte(this.data.goodsInputNum + 1); - }, - //----------减少购买数量----------- - subCartNum_inte: function(t) { - this.checkCartNum_inte(this.data.goodsInputNum - 1); - }, - //----------输入框输入购买数量----------- - inputCartNum_inte: function(t) { - this.checkCartNum_inte(Number(t.detail.value)); - }, - - - //------检查数量是不是超出限购------ - checkCartNum: function(t) { - var th = this; - this.data.sele_g = this.data.data; - this.get_buy_num(this.data.sele_g, async function() { - // this.get_buy_num(this.data.sele_g, async function() { - - //--判断商品是否超出限购-- - if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { - - var gd_buy_num=th.data.g_buy_num.get(th.data.sele_g.goods_id); - - if (t + gd_buy_num > th.data.sele_g.viplimited) { - wx.showModal({ - title: '超出商品限购', - }); - - var num= th.data.sele_g.viplimited-gd_buy_num; - if(num<0) num=0; - th.setData({goodsInputNum:num}) - return false; - } - } - - //--判断商品是否超出活动限购-- - if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && !th.data.is_normal) { - if (t + th.data.prom_buy_num > th.data.prom_buy_limit) { - wx.showModal({ - title: '超出商品活动限购', - }); - - var num=th.data.prom_buy_limit- th.data.prom_buy_num ; - if(num<0) num=0; - th.setData({goodsInputNum:num}) - return false; - } - } - - if (th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) { - var redis_num = 0; - //------判断活动是否抢光----- - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + - os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, { - 1: 1 - }).then(res => { - redis_num = res.data.data; - }); - - if (t > redis_num) { - wx.showModal({ - title: '超出商品活动库存', - }); - th.setData({goodsInputNum:redis_num}) - return false; - } - - } - - var e = th.data.sele_g.store_count; - if(th.data.sales_rules==2){ - if(!th.data.def_pick_store){ - wx.showModal({ title: '请选择门店', }); - return false; - }else{ - e=th.data.def_pick_store.CanOutQty; - } - } - - //库存不足,不增加 - if(e e || 0 == e ? t = e : t < 1 && (t = 1); - th.setData({ goodsInputNum: t }); - th.is_show_more_buy(); - - }) - }, - - //----- 检查一下积分购的限购之类的问题 ----- - checkCartNum_inte: function(t) { - var th = this; - this.get_buy_num(this.data.data, async function() { - - //--判断商品是否超出限购-- - if (th.data.g_buy_num != null && th.data.data.viplimited > 0) { - - var gd_buy_num=th.data.g_buy_num.get(th.data.sele_g.goods_id); - - if (t + gd_buy_num > th.data.sele_g.viplimited) { - wx.showModal({ - title: '超出商品限购', - }); - - var num= th.data.sele_g.viplimited-gd_buy_num; - if(num<0) num=0; - th.setData({goodsInputNum:num}) - return false; - } - } - - //--判断商品是否超出活动限购-- - if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) { - if (t + th.data.prom_buy_num > th.data.prom_buy_limit) { - wx.showModal({ - title: '超出商品活动限购', - }); - - var num=th.data.prom_buy_limit- th.data.prom_buy_num ; - if(num<0) num=0; - th.setData({goodsInputNum:num}) - return false; - } - } - - if (th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) { - var redis_num = 0; - //------判断活动是否抢光----- - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + - os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, { - 1: 1 - }).then(res => { - redis_num = res.data.data; - }); - - if (t > redis_num) { - wx.showModal({ - title: '超出商品活动库存', - }); - th.setData({goodsInputNum:redis_num}) - return false; - } - - } - - var e = th.data.sele_g.store_count; - if(th.data.sales_rules==2){ - if(!th.data.def_pick_store){ - wx.showModal({ title: '请选择门店', }); - return false; - }else{ - e=th.data.def_pick_store.CanOutQty; - } - } - - //库存不足,不增加 - if(e e || 0 == e ? t = e : t < 1 && (t = 1); - th.setData({ goodsInputNum: t }); - }) - }, - - - closeSpecModal: function() { - if(this.data.openSpecModal_pt && this.data.is_normal){ - this.get_sto(); - } - - this.setData({ - openSpecModal: !1, - openSpecModal_pt: !1 - }); - }, - - openSpecModel: function(t) { - var th=this; - var open_store = t.currentTarget.dataset.ind; - this.setData({ - store: 0, - choice_sort_store: 0, - sort_store: 0, - open_ind_store: open_store, - }) - //--先判断会员状态-- - var user_info = getApp().globalData.userInfo; - if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { - wx.navigateTo({ - url: '/pages/togoin/togoin', - }) - return false; - } - - var ind = t.currentTarget.dataset.ind; - this.setData({ - openSpecModal: !0, - openSpecModal_ind: ind, - }); - - var is_open=th.data.config - - - this.get_off_price(); - - }, - - //----获取线下价格------- - get_off_price(){ - var th=this; - //没有开启就返回 - if(!th.data.is_open_offline) return false; - //先看下购买的功能有没有到期 - getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=6",{}).then(res=>{ - //未购买 - if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){ - return false; - }else{ - //已经过期 - var item=res.data.data.pageData[0]; - if(item.end_time0){ - cur_price=cur_goods[th.data.card_field]; - } - - var user_info = getApp().globalData.userInfo; - //获取一下接口,判断是不是有线下接口,必须是普通商品,全局优惠活动也是不行 - if(cur_goods.prom_type==0 && !this.data.prom_goods){ - cur_goods.offline_price=null; - //如果没有门店,不用计算线下价格 - var def_pick_store=this.data.def_pick_store; - if(!def_pick_store) return false; - getApp().request.get("/api/weshop/goods/listWarePrice", { - data:{VIPId:encodeURIComponent(user_info.erpvipid), - store_id:os.stoid, - PickupId:def_pick_store.pickup_id, - WareIds:encodeURIComponent(cur_goods.erpwareid)}, - success:function(res){ - if(res.data.code==0 && res.data.data && res.data.data.length>0){ - var datalist=res.data.data; - if(datalist[0].WarePrice { - var e = res; - if (e.data.code == 0) arrdata = e.data.data.pageData; - }) - if(!arrdata) return fasle; + clearInterval(timer_get); + + //如果会员是有默认的门店话 + if(!th.data.def_pick_store && th.data.fir_def_store){ + th.setData({def_pick_store:th.data.fir_def_store}); + } + + wx.showLoading({ + title:'加载中.' + }); + //----------获取门店---------------- + getApp().request.promiseGet("/api/weshop/pickup/list", { + data: dd, + }).then(res => { + var e = res; + if (e.data.code == 0) { + //--普通门店排版-- + setTimeout(function(){ + var sto_list=th.data.data.storageId; + if(sto_list){ + for (var k = 0; k < e.data.data.pageData.length; k++) { + var it=e.data.data.pageData[k]; + if (sto_list.indexof(it.keyid)==-1) { + //删除 + e.data.data.pageData.splice(k--, 1); + } + } + } - var arrsku = new Array(); - var gitem = null; - var gb = 1,gg = ""; - for (var i = 0; i < arrdata.length; i++) { - var goodsinfo=arrdata[i],prom=null; - if (goodsinfo.goods_id != g_id) { - if(goodsinfo.prom_type==1){ - await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ - }).then(res=>{ - if(res.data.code==0) prom=res.data.data; - }) - } - if(goodsinfo.prom_type==6){ - await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ - }).then(res=>{ - if(res.data.code==0) prom=res.data.data; - }) - } - } - //---如果有活动,不算在一起--- - if(prom){ - if(prom.is_end==0 && prom.end_time>now && prom.start_time{ - if(res.data.code==0 && res.data.data.total>0){ - for(var i in res.data.data.pageData) - lock+=res.data.data.pageData[i].outQty - } - //---通过接口获取门店的线下库存信息-- - return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:that.data.def_pick_store.pickup_no,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid} - }) - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - plist=res.data.data.pageData[0]; - } - if(plist && plist.CanOutQty-lock>0){ - that.data.def_pick_store.CanOutQty=plist.CanOutQty-lock; - }else{ - that.data.def_pick_store.CanOutQty=0; - } - //--给门店赋值线下库存-- - th.setData({def_pick_store:that.data.def_pick_store}); - }) - } - - - this.sele_spec_chech_activity(); - }, - - //选择了不同的规格的时候要判断是不是有活动正在进行中 - async sele_spec_chech_activity(){ - //---如果是活动的时候--- - var prom=null,goodsinfo=this.data.sele_g,th=this; - if(goodsinfo.prom_type==1){ - await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ - }).then(res=>{ - if(res.data.code==0){ - prom=res.data.data; - } - }) - } - if(goodsinfo.prom_type==6){ - await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ - }).then(res=>{ - if(res.data.code==0){ - prom=res.data.data; - } - }) - } - //----------如果有活动,并且在进行中,就不计算线下库存--------------- - var now=ut.gettimestamp(); - if(prom){ - if(prom.is_end==0 && prom.end_time>now && prom.start_time { - var e = res; - - if (e.data.code == 0) { - - //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 - 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}); + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 + 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.sales_rules==2 && !th.data.is_newsales_rules && ((th.data.prom_type!=1 && th.data.prom_type!=6 && th.data.prom_type!=4) || is_normal==1)){ - setTimeout(function(){ - th.deal_pickup_dline(e); - },800) - }else{ - setTimeout(function(){ - th.deal_pickup(e); //--普通门店排版-- - },800) - } + //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 -- + 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); + },800) + } }) }, 200) - }, //------------处理门店--------------- deal_pickup(e){ var th=this; - if(!th.data.sele_g) return false - - var g_distr_type=th.data.sele_g.distr_type; + if(!th.data.data) return false wx.hideLoading(); - //单总量超出5个的时候 if (e.data.data.total > 5) { getApp().request.get("/api/weshop/storagecategory/page", { @@ -2288,8 +861,8 @@ Page({ var ishas = 0; //-- 开始就看5个门店 -- for (var k = 0; k < 5; k++) { - if (k == e.data.data.pageData.length) break; - def_arr.push(e.data.data.pageData[k]); + if (k == e.data.data.pageData.length) break; + def_arr.push(e.data.data.pageData[k]); } th.setData({ @@ -2368,7 +941,6 @@ Page({ if(newarr.length>0) newarr.sort(compare("sort")); - //----安排其他的分类----- if (qita.length > 0) { var item = { @@ -2381,1394 +953,66 @@ Page({ th.setData({ is_show_sto_cat: 1, - all_sto: newarr - }); - - } 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.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) { - 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 - }) - } - } - }, - - //------------处理线下门店库存-------- - deal_pickup_dline(e){ - var pkno=[],th=this; - if(!th.data.sele_g) return false; - - if(this.data.def_pick_store){ - pkno.push(this.data.def_pick_store.pickup_no); - } - for(var i in e.data.data.pageData){ - var item=e.data.data.pageData[i]; - if(pkno.indexOf(item.pickup_no)<0) - pkno.push(item.pickup_no); - } - var pkno_str=pkno.join(","); - var o_plist=e.data.data.pageData; - var new_list=[]; - var is_find_def_store=0; - - - var g_distr_type=th.data.sele_g.distr_type; - var lock=[]; - //先读取门店的lock,采用链式写法,少用await - getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:th.data.sele_g.goods_id,pageSize:1000} - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - lock=res.data.data.pageData - } - //---通过接口获取门店的线下库存信息-- - return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:pkno_str,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid,pageSize:2000} - }) - }).then(res=>{ - - wx.hideLoading(); - if(res.data.code==0){ - if(res.data.data.pageData && res.data.data.pageData.length>0){ - var plist=res.data.data.pageData; - var def_pick_store=th.data.def_pick_store; - //以原来的数组为外循环,保证距离的顺序 - for(var kk in o_plist){ - for(var ii in plist){ - //线下的门店小心 - var n_item=plist[ii]; - if(n_item.StorageNo==o_plist[kk].pickup_no){ - - //拿到锁库的数量 - var lock_num=th.find_lock_num(o_plist[kk].pickup_id,lock); - //可出库数大于预出库库存的数量,可以判断为有库存 - if(n_item.CanOutQty>lock_num){ - o_plist[kk].CanOutQty=n_item.CanOutQty-lock_num; - new_list.push(o_plist[kk]); - //--如果找到默认门店,同时也应该判断配送方式对不对-- - if(th.data.fir_def_store && n_item.StorageNo==th.data.fir_def_store.pickup_no && (g_distr_type==0 || th.data.fir_def_store.distr_type==0 || th.data.def_pick_store.distr_type==g_distr_type ) ){ - th.data.fir_def_store.CanOutQty=n_item.CanOutQty-lock_num; - if(def_pick_store.pickup_id==th.data.fir_def_store.pickup_id) - th.setData({def_pick_store:th.data.fir_def_store}) - is_find_def_store=1; - } - } - break; - } - } - } - - //数据组装下 - var em={};em.data={};em.data.data={}; - em.data.data.total=new_list.length; - em.data.data.pageData=new_list; - - //--如果找到默认门店,同时也应该判断配送方式对不对-- - if(th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && (g_distr_type==0 || th.data.fir_def_store.distr_type==0 || th.data.def_pick_store.distr_type==g_distr_type ) ){ - th.data.fir_def_store.CanOutQty=0; - //--当选择的门店是客户默认的门店的时候-- - if(th.data.def_pick_store && th.data.fir_def_store.pickup_id==th.data.def_pick_store.pickup_id) { - th.setData({def_pick_store:th.data.fir_def_store}); - em.data.data.pageData.unshift(th.data.def_pick_store); - }else{ - em.data.data.pageData.splice(1,0,th.data.fir_def_store); - } - } - - //---把数组组装进去--- - th.deal_pickup(em); - }else{ - th.setData({def_pick_store:null,all_sto:null,only_pk:null,def_pickpu_list:null}) - } - }else{ - th.setData({def_pick_store:null,all_sto:null,only_pk:null,def_pickpu_list:null}) - } - }) - }, - - 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; - }, - - //----------取货门店被点击的效果------ - getmendian: function(t) { - this.setData({ - ismend: 1, - }); - }, - - //----------隐藏取货门店,选取门店---------- - hidemend: function(e) { - var pid = e.target.dataset.p_id; - var pname = e.target.dataset.p_name; - var p_distr_t = e.target.dataset.p_dis; - this.setData({ - ismend: 0, - is_sec_mend: 0, - sto_sele_id: pid, - sto_sele_name: pname, - sto_sele_distr: p_distr_t - }); - }, - - //------显示取货2级---------- - show_sec: function(t) { - var index = t.target.dataset.index; - var item = this.data.all_sto[index]; - this.setData({ - is_sec_mend: 1, - sec_sto: item - }); - }, - - //------隐藏取货门店2级---- - hide_sec_mend: function() { - this.setData({ - is_sec_mend: 0, - }); - }, - - //评论的调用 - requestComments_new: async function(){ - var e = this, th = e,ee=e; var tp = e.data.activeCategoryId3; - var t = '/api/weshop/comment/pageComment?page=' + e.data.c_curr_p; - - wx.showLoading(); - var req_where = { - store_id: o.stoid, pageSize: 5,is_show:1, - parent_id: 0, goods_id: th.data.gid, commenttype: tp, - } - if (getApp().globalData.userInfo) { - req_where.userId = getApp().globalData.userInfo.user_id; - } - - var rs_data=null; - await getApp().request.promiseGet(t, { data: req_where}).then(res=>{ - var tot = res.data.data.total; - e.data.c_curr_p++; - e.setData({ - com_num: tot, //已经有加载 - }); - if (res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ - rs_data=res.data.data.pageData; - }else{ - th.setData({comments_no_more:1,auto:1}); - } - }) - - if (rs_data){ - //var cda = th.data.comments; - var cda = rs_data,com_data=th.data.comments; - for (var ind in cda) { - var ep = cda[ind]; - if (cda[ind].head_pic == '') { - cda[ind].head_pic = th.data.iurl + "/miniapp/images/hui_hear_pic.png"; - } - if (ep.weapp_img != "" && ut.isString(ep.weapp_img)) { - cda[ind].weapp_img = JSON.parse(ep.weapp_img); - } - if (ep.img != "" && ut.isString(ep.img)) { - cda[ind].img = ut.unserialize(ep.img); - } - - //--测量多有字的宽带,计算有多少行-- - var widh=ut.measureText(ep.content,30); - var lines=widh/712; - cda[ind].seeMore=false; - if(lines>3) cda[ind].seeMore=true; - - await getApp().request.promiseGet("/api/weshop/comment/pageComment", { - data: {store_id: o.stoid, parent_id: ep.comment_id } - }).then(res => { - if (res.data.data.pageData && res.data.data.pageData.length > 0) { - cda[ind].replay_list = res.data.data.pageData; - } - }) - } - - if (!com_data) com_data = cda; - else com_data = com_data.concat(cda); - - th.setData({ comments: com_data}); - } - th.setData({get_c: 1}); - wx.hideLoading(); - }, - - //加载更多是靠这个函数 - onReachBottom: function() { - if (this.data.activeCategoryId == 2){ - if(!this.data.comments_no_more) this.requestComments_new(); - } - - var goods_list = this.selectComponent("#goods_list"); //组件的id - if (goods_list) goods_list.get_list(); - }, - - //--------检查是否活动,活动是否开始,或者是否结束------- - async check_prom(gid, prom_type, prom_id) { - var ee = this, - th = ee; - if (prom_type == 3 || prom_type == 0 || prom_type == 2 || prom_type == 5) { - this.setData({ - prom_type: 0, - isshow: 1, - }); - return false; - } - - - - //if (prom_type != 3 && prom_type!=0){ - //---判断秒杀---- - if (prom_type == 1) { - //-------判断活动是否抢光--------- - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { - 1: 1 - }).then(res => { - var em = res; - if (em.data.code == 0) { - - if (em.data.data <= 0) ee.setData({ - prom_r_null: 1 - }); - //拿取价格并且判断时间-- - getApp().request.get("/api/ms/flash_sale/get/" + - os.stoid + "/" + prom_id, { - success: function(t) { - if (t.data.code != 0) { - ee.setData({ - prom_type: 0, - isshow: 1, - }); - ee.get_sku(os.stoid, ee.data.data.sku, gid); - return false; - } - //----已经结束----- - if (t.data.data.is_end == 1) { - ee.setData({ - prom_type: 0, - isshow: 1, - }); - ee.get_sku(os.stoid, ee.data.data.sku, gid); - ee.get_sto(); - return false; - } - //----已经过期----- - var now = ut.gettimestamp(); - if (t.data.data.end_time < now) { - ee.setData({ - prom_type: 0, - isshow: 1, - }); - ee.get_sku(os.stoid, ee.data.data.sku, gid); - return false; - } - - /*-- 还没有开始预热的也不显示 --*/ - if (t.data.data.show_time > now) { - ee.setData({ - prom_type: 0, - isshow: 1, - }); - ee.get_sku(os.stoid, ee.data.data.sku, gid); - ee.get_sto(); - return false; - } - - var t_gd = ee.data.data; - var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss"); - var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss"); - - ee.setData({ - prom_price: t.data.data.price, - prom_type: 1, - prom_id: prom_id, - prom_buy_limit: t.data.data.buy_limit, - prom_act: t.data.data, - prom_end_time: prom_end_time, - prom_start_time: prom_start_time, - isshow: 1, - }); - - ee.get_sto(); - - - var newTime = ut.gettimestamp(); - var endTime2 = t.data.data.end_time; - var endTime1 = t.data.data.start_time; - - //---苹果机不兼容--- - /*---- - var endTime2 = new Date(prom_end_time).getTime(); - var endTime1 = new Date(prom_start_time).getTime();----*/ - - if (endTime1 > newTime) { - ee.setData({ - prom_time_text: '距秒杀开始还有' - }) - ee.countDown(endTime1, 0); - } else { - if (endTime2 > newTime) { - ee.setData({ - prom_time_text: '距秒杀结束还有', - prom_st: 1 - }) - ee.countDown(endTime2); - } - } - } - }); - } - }) - } - - if(prom_type==4){ - //th.setData({is_integral_normal:1}); - var rdata={ - store_id:o.stoid,stype:1,stypeup:1,goods_id:gid - } - - var integrals=0; - var get_datas= { - user_id:getApp().globalData.user_id, store_id:o.stoid, - }; - await getApp().request.promiseGet("/api/weshop/users/getAllPoints", { - data: get_datas - }).then(res => { - if(res.data.code==0){ - integrals=res.data.data.Integral; - } - }) - - //获取一下积分活动 - await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList", { - data: rdata - }).then(res => { - //调用接口有数据的时候 - if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0) { - var inte_data=res.data.data.pageData[0]; - var can_integral=(parseFloat(integrals)>=parseFloat(inte_data.integral)); - ee.setData({ - prom_price:parseFloat(inte_data.addmoney), - prom_integral:parseFloat(inte_data.integral), - prom_type: 4, - prom_id: inte_data.id, - prom_buy_limit: inte_data.limitvipqty, - prom_act: inte_data, - isshow: 1, - can_integral:can_integral, - is_shopbuy: parseInt(inte_data.is_shopbuy?inte_data.is_shopbuy:0) - }); - ee.get_sto(); - - }else{ - ee.setData({prom_type: 0, isshow: 1,}); - ee.get_sku(os.stoid, ee.data.data.sku, gid); - ee.get_sto(); - return false; - } - }) - - } - - - //---判断拼单---- - if (prom_type == 6) { - //-------判断活动是否抢光--------- - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { - 1: 1 - }).then(res => { - var em = res; - if (em.data.code == 0) { - - - if (em.data.data <= 0) ee.setData({ - prom_r_null: 1 - }); - //拿取价格并且判断时间-- - getApp().request.get("/api/weshop/teamlist/get/" + - os.stoid + "/" + prom_id, { - success: function(t) { - if (t.data.code != 0) { - ee.setData({ - prom_type: 0, - isshow: 1, - }); - ee.get_sku(os.stoid, ee.data.data.sku, gid); - ee.get_sto(); - return false; - } - //----已经结束----- - if (t.data.data.is_end == 1) { - ee.setData({ - prom_type: 0, - isshow: 1, - }); - ee.get_sku(os.stoid, ee.data.data.sku, gid); - return false; - } - //----已经过期----- - var now = ut.gettimestamp(); - if (t.data.data.end_time < now) { - ee.setData({ - prom_type: 0, - isshow: 1, - }); - ee.get_sku(os.stoid, ee.data.data.sku, gid); - ee.get_sto(); - return false; - } - - /*-- 还没有开始预热的也不显示 --*/ - if (t.data.data.show_time > now) { - ee.setData({ - prom_type: 0, - isshow: 1, - }); - ee.get_sku(os.stoid, ee.data.data.sku, gid); - ee.get_sto(); - return false; - } - - //-------查看自己是不是有买过该团的商品,并还为支付,或者在进行中------- - getApp().request.get("/api/weshop/order/page", { - data: { - pt_prom_id: prom_id, - user_id: oo.user_id, - store_id: os.stoid, - pageSize: 1, - page: 1 - }, - success: function(e) { - if (e.data.code == 0 && e.data.data.pageData.length > 0) { - var odr = e.data.data.pageData[0]; - th.data.buy_order = odr; - if (odr.pt_status == 0 && odr.order_status == 1) { - th.setData({ - user_order_pt_state: 1 - }); - } - if (odr.pt_status == 1 && odr.order_status == 1) { - if (odr.is_zsorder == 4) { - getApp().request.promiseGet("/api/weshop/teamgroup/page/", { - data: { - store_id: os.stoid, - team_id: odr.pt_prom_id, - listno: odr.pt_listno - } - }).then(res => { - var now = ut.gettimestamp(); - if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ - var tgr = res.data.data.pageData[0]; - //如果团的时间已经到了 - if (now >= tgr.kt_end_time) { - th.update_jiti(tgr.id); - } else { - th.setData({ - user_order_pt_state: 2 - }); - } - } - }) - - } else { - th.setData({ - user_order_pt_state: 2 - }); - } - } - - if (odr.pt_status == 2 && odr.is_zsorder == 4) { - th.setData({ - user_order_pt_state: 3, - }); - th.data.wk_order_id = odr.order_id; - } - } - }, - }); - - //----------查看阶梯团------------ - if (t.data.data.ct_rylist != "" && t.data.data.ct_rylist != null && t.data.data.ct_rylist != undefined) { - t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist); - var max_num = 0; - t.data.data.ct_rylist.forEach(function(val, ind) { - if (parseInt(val.rynum) > max_num) max_num = parseInt(val.rynum); - }) - t.data.data.max_ct_num = max_num; - } - - var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss"); - var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss"); - ee.setData({ - prom_price: t.data.data.price, - prom_type: 6, - prom_id: prom_id, - prom_buy_limit: t.data.data.buy_limit, - prom_act: t.data.data, - prom_end_time: prom_end_time, - prom_start_time: prom_start_time, - isshow: 1, - }); - - ee.get_sto(); - - var newTime = now; - var endTime2 = t.data.data.end_time; - var endTime1 = t.data.data.start_time; - - if (endTime1 > newTime) { - ee.setData({ - prom_time_text: '距拼单开始还剩:' - }) - ee.countDown(endTime1, 0); - } else { - if (endTime2 > newTime) { - ee.setData({ - prom_time_text: '距拼单结束还剩:', - prom_st: 1 - }) - ee.countDown(endTime2); - } - } - //-------查看有多少人在开这个团------- - th.get_team_group(prom_id); - } - }); - } - }) - } - - }, - - //--获取有多少人在开团-- - async get_team_group(prom_id) { - var teamgroup = [], - th = this, - grounp_tatal = 0; - //如果活动是开团不是商家团 - if (this.data.prom_act.kttype > 1) { - //获取活动从表信息team_id - await getApp().request.promiseGet("/api/weshop/teamgroup/page", { - data: { - store_id: os.stoid, - pageSize: 3, - page: 1, - state: 2, - team_id: prom_id - } - }).then(res => { - teamgroup = res.data.data.pageData; - grounp_tatal = res.data.data.total; - }) - //获取订单的总数这个接口不能用 - for (i = 0; i < teamgroup.length; i++) { - await getApp().request.promiseGet("/api/weshop/order/page", { - data: { - store_id: os.stoid, - pt_status: 1, - pt_listno: teamgroup[i].listno - } - }).then(res => { - var order = res.data.data.pageData; - teamgroup[i].open_num = order.length; - }) - await getApp().request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + teamgroup[i].openvipid, {}).then(res => { - var user = res.data.data; - teamgroup[i].user = user; - }) - } - - if (teamgroup.length > 0) { - th.setData({ - teamgroup: teamgroup, - grounp_tatal: grounp_tatal - }); - th.countDown2(); - } - } - }, - - //---小于10的格式化函数---- - timeFormat(param) { - return param < 10 ? '0' + param : param; - }, - - //----倒计时函数----- - countDown(time, prom_st) { - if (!this.data.is_timer) return false; - var th = this; - // 获取当前时间,同时得到活动结束时间数组 - var endTime = 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 = { - day: this.timeFormat(day), - hou: this.timeFormat(hou), - min: this.timeFormat(min), - sec: this.timeFormat(sec) - } - } else { - if (th.data.prom_st == 0) { - //var endTime2 = new Date(th.data.prom_end_time).getTime(); - var endTime2 = th.data.prom_act.end_time; - th.setData({ - prom_time_text: '距结束还剩:', - prom_st: 1 - }) - setTimeout(function() { - th.countDown(endTime2) - }, 1000); - return false; - - } 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.setData({ - djs: obj - }); - setTimeout(function() { - th.countDown(endTime) - }, 1000); - }, - - - //-------------获取购买数量的总函数---------------- - 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) { - map.set(gd.goods_id, 0); - th.setData({ - g_buy_num: map, - prom_buy_num: 0, - }); - "function" == typeof func && func(); - return false; - } - - if (map.has(gd.goods_id)) { - "function" == typeof func && func(); - } else { - //----获取商品购买数---- - getApp().request.get("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: os.stoid, - user_id: user_id, - goods_id: gd.goods_id - }, - success: function(t) { - if (t.data.code == 0) { - var g_buy_num = t.data.data.goodsbuynum; - if (gd.prom_type == 1 || gd.prom_type == 2 || gd.prom_type == 4 || gd.prom_type == 6) { - //----获取活动购买数---- - getApp().request.get("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: os.stoid, - user_id: user_id, - goods_id: gd.goods_id, - prom_type: gd.prom_type, - prom_id: gd.prom_id - }, - //-----获取----- - success: function(tt) { - if (tt.data.code == 0) { - map.set(gd.goods_id, g_buy_num); - th.setData({ - g_buy_num: map, - prom_buy_num: tt.data.data.goodsbuynum, - }); - "function" == typeof func && func(); - } - } - }); - } else { - map.set(gd.goods_id, g_buy_num); - th.setData({ - g_buy_num: map - }); - "function" == typeof func && func(); - } - } - } - }); - } - }, - - //--拼单推荐的显示--- - tj_Click: function(e) { - var ind = parseInt(e.target.dataset.ind); - this.setData({ - is_show_gz: ind - }); - }, - - //--------拼团玩法显示详情-------- - show_pt_xx: function(e) { - this.setData({ - pd_xx: 1, - }) - }, - close_pt_xx: function() { - this.setData({ - pd_xx: 0, - }) - }, - - //--点击弹起拼单-- - openSpecModel_pt: function(e) { - - - this.setData({ open_ind_store: 4});//拼团直接给4 - - - //--先判断会员状态-- - var user_info = getApp().globalData.userInfo; - if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { - wx.navigateTo({ - url: '/pages/togoin/togoin', - }) - return false; - } - - var th = this; - var ind = parseInt(e.currentTarget.dataset.it); - //如果是拼单活动的普通购买 - if (ind == 1) { - //如果拼单的sku data是空的,就要先获取一下 - if (th.data.sku_g_pt) { - th.get_sto(1); - th.setData({ - is_normal: ind, - openSpecModal_pt: 1 - }); - } else { - th.get_sto(1); - th.get_sku(o.stoid, th.data.data.sku, th.data.gid, 1, function() { - th.setData({ - is_normal: ind, - openSpecModal_pt: 1 - }); - }); - } - } else { - - //拼单商品从这里进,先判断有没有买过商品, - getApp().request.get("/api/weshop/order/page", { - data: { - pt_prom_id: th.data.prom_act.id, - user_id: oo.user_id, - store_id: os.stoid, - pageSize: 1, - page: 1 - }, - success: function(e) { - //--跳转到已经购买的情况-- - if (e.data.data.pageData.length > 0) { - var odr = e.data.data.pageData[0]; - //还未支付 - if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) { - wx.showModal({ - title: "您已经购买了该商品待支付中", - success: function(a) { - if (a.confirm) { - wx.navigateTo({ - url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id, - }); - } - } - }); - } else if (odr.pt_status == 1 && odr.order_status == 1) { - - if(this.data.is_go_to_team_show) return false; - this.data.is_go_to_team_show=1; - wx.showLoading(); - - wx.redirectTo({ - url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn, - }); - } else { - th.setData({ - is_normal: ind, - openSpecModal_pt: 1 - }); - } - - } else { - th.setData({ - is_normal: ind, - openSpecModal_pt: 1 - }); - } - } - }); - } - }, - - //-----------------拼单生成方法--------------------- - addCart_pt: function() { - var th = this; - if (this.data.is_normal == 0) { - //看一下有没有起购数,如果有起购数,要计算起购数 - var qnum = parseFloat(th.data.prom_act.minbuynum); - if (qnum > 0 && th.data.goodsInputNum < qnum) { - getApp().confirmBox("拼团商品至少要买" + qnum + "件!"); - return false; - } - - th.addcart_pt_func(); - } else { - th.addcart_pt_func(); - } - }, - - addcart_pt_func: function() { - if (oo.user_id == null) { - s.my_warnning("还未登录!", 0, this); - return; - } - var e = this, - th = e, - o = this.data.sele_g; - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); - - //----------添加到购物车时,要判断限购数量,-------- - e.get_buy_num(o, async 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) > th.data.sele_g.viplimited) { - wx.showModal({ - title: '提示', - content: '超出商品限购' - }); - - var num=th.data.prom_buy_limit-th.data.prom_buy_num; - if(num<0) num=0; - th.setData({goodsInputNum:num}) - return false; - } - } - //---判断商品是否超出活动限购,拼团的普通购买不计算活动的限购--- - if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && th.data.is_normal!=1) { - if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { - wx.showModal({ - title: '提示', - content: '超出商品活动限购' - }); - - var num=th.data.prom_buy_limit-th.data.prom_buy_num; - if(num<0) num=0; - th.setData({goodsInputNum:num}) - return false; - } - } - - var redis_num = 0 - //不是普通购买的时候 - if(th.data.is_normal!=1){ - //-------判断活动是否抢光--------- - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/6/" + th.data.sele_g.prom_id, { - 1: 1 - }).then(res => { - redis_num = res.data.data; - }) - - if (th.data.goodsInputNum > redis_num) { - wx.showModal({ - title: '提示', - content: '超出商品活动库存' - }); - - th.setData({goodsInputNum:redis_num}) - - return false; - } - } - - if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); - if (th.data.goodsInputNum > o.store_count) { - th.setData({goodsInputNum:o.store_count}) - return s.my_warnning("超出商品库存", 0, th); - } - - if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) - this.setData({ - sto_sele_name: "" - }); - if (th.data.sto_sele_name == "") 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: th.data.stoid, - goods_price: o.shop_price, - goods_name: o.goods_name, - goods_sn: o.goods_sn, - sku: o.sku, - }; - - //---是不是从收藏夹出来的--- - if(th.data.c_guide_id){ - newd['guide_id'] = th.data.c_guide_id; - newd['guide_type']=2; - - }else{ - if(getApp().globalData.guide_id){ - newd['guide_id'] = getApp().globalData.guide_id; - newd['guide_type']=0; - - } - } - - //让商品带上房间号 - if(th.data.sys_switch.is_skuroom_id==1){ - if(th.data.data.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(th.data.is_normal == 1){ - var conf=th.data.bconfig; - if(conf.switch_list){ - var s_list=JSON.parse(conf.switch_list); - //如果后台有开启等级价的功能 - if(parseInt(s_list.rank_switch)==2){ - var card_price=o[getApp().globalData.userInfo['card_field']]; - //如果会员有等级价 - if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null - && getApp().globalData.userInfo['card_field']!="" && card_price>0){ - newd.goods_price=card_price; - } - } - } - } - - - //-----如果是秒杀,团购,积分购,拼团,且不是普通购买----- - if (th.data.prom_type == 6 && th.data.is_normal!= 1) { - newd.goods_price = th.data.prom_price; - newd.prom_type = th.data.prom_type; - newd.prom_id = th.data.prom_id; - newd.kt_type = th.data.prom_act.kttype; //开团类型 - newd.is_pt_tz = 0; - //th.data.sto_sele_distr=1; //直接用自提的方式提交 - if (newd.kt_type > 1) { - newd.is_pt_tz = 1; //开团类型 - } - if (newd.kt_type == 3) { - th.data.sto_sele_distr = 1; - } - - } else if (th.data.prom_type == 3) { - newd.prom_type = 0; - newd.prom_id = 0; - } - - newd['pick_name'] = th.data.sto_sele_name; - newd['pick_dis'] = th.data.sto_sele_distr; - newd['is_normal'] = th.data.is_normal; - - th.buyNow_pt(newd); - }) - }, - //----------立即购买_pt----------- - buyNow_pt: function(e) { - s.set_b_now(e); - wx.navigateTo({ - url: "/pages/cart/cart2_pt/cart2_pt?is_bnow=1&goods_id=" + e.goods_id, - }); - }, - - //-------跳转pt商品------- - go_to_nopay: function() { - var th = this; - url="/pages/user/order_detail/order_detail?order_id=" + th.data.buy_order.order_id; - getApp().goto(url); - - }, - //-------跳转pt teamshow------- - go_to_team_show: function() { - - if(this.data.is_go_to_team_show) return false; - this.data.is_go_to_team_show=1; - wx.showLoading(); - - var th = this; - var url="/pages/team/team_success/team_success?ordersn=" + th.data.buy_order.order_sn; - wx.redirectTo({ - url:url, - }) - - }, - - //---拼团倒计时--- - countDown2() { - if (!this.data.is_timer) return false; - var th = this; - // 获取当前时间,同时得到活动结束时间数组 - var newTime = ut.gettimestamp(); - var List = th.data.teamgroup; - for (var j = 0; j < List.length; j++) { - // 对结束时间进行处理渲染到页面 - var endTime = List[j].kt_end_time; - let obj = null; - // 如果活动未结束,对时间进行处理 - if (endTime - newTime > 0) { - let time = (endTime - newTime); - // 获取天、时、分、秒 - let day = parseInt(time / (60 * 60 * 24)); - let hou = parseInt(time % (60 * 60 * 24) / 3600); - let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); - let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); - obj = { - day: this.timeFormat(day), - hou: this.timeFormat(hou), - min: this.timeFormat(min), - sec: this.timeFormat(sec) - } - } else { - //活动已结束,全部设置为'00' - obj = { - day: '00', - hou: '00', - min: '00', - sec: '00' - } - } - var txt = "timer[" + j + "]"; - th.setData({ - [txt]: obj - }); - } - setTimeout(th.countDown2, 1000); - }, - //跳转参加团 - go_cj_team: function(e) { - var ind = e.currentTarget.dataset.ind; - var item = this.data.teamgroup[ind]; - var id = item.id; - var th = this; - - getApp().request.get("/api/weshop/order/page", { - data: { - pt_prom_id: item.team_id, - user_id: oo.user_id, - store_id: os.stoid, - pageSize: 1, - page: 1 - }, - success: function(e) { - if (e.data.code != 0) { - getApp().my_warnning("读取订单失败", 0, th); - return fasle; - } - //--跳转到已经购买的情况-- - if (e.data.data.pageData.length > 0) { - var odr = e.data.data.pageData[0]; - //还未支付 - if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) { - wx.showModal({ - title: "您已经购买了该商品待支付中", - success: function(a) { - if (a.confirm) { - wx.navigateTo({ - url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id, - }); - } + all_sto: newarr + }); + + } 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 if (odr.pt_status == 1 && odr.order_status == 1) { - - if(this.data.is_go_to_team_show) return false; - this.data.is_go_to_team_show=1; - wx.showLoading(); - - wx.redirectTo({ - url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn, - }); + } } else { - wx.navigateTo({ - url: "/pages/team/team_show/team_show?tg_id=" + id, + th.setData({ + is_show_sto_cat: -1, + only_pk: e.data.data.pageData }); - } - } - //--跳转到参团-- - else { - wx.navigateTo({ - url: "/pages/team/team_show/team_show?tg_id=" + id, - }); - } - } - }) - - }, - - //跳到团更多 - go_t_more: function() { - var team_id = this.data.prom_id; - wx.navigateTo({ - url: "/pages/team/team_more/team_more?team_id=" + team_id, - }); - }, - - //--点赞功能-- - click_zan: function(e) { - var com_id = e.currentTarget.dataset.com_id; - var item_id = e.currentTarget.dataset.item_id; - var app = getApp(), - th = this; - - if (app.globalData.userInfo == null || app.globalData.userInfo == undefined) { - app.confirmBox("您还未登录"); - return false; - } - - var iszan = th.data.comments[item_id].userZanNum; - if (this.data.iszaning) return false; - this.data.iszaning = 1; - - - app.request.post("/api/weshop/commentZan/save", { - data: { - store_id: o.stoid, - user_id: app.globalData.user_id, - goods_id: th.data.gid, - comment_id: com_id - }, - success: function(ee) { - - if (ee.data.code == "-1") { - app.my_warnning("不能给自己点赞", 0, th); - th.data.iszaning = 0; - return; - } - - if (ee.data.code == 0 && iszan != 1) { - var num = th.data.comments[item_id].zan_num; - num++; - var text = "comments[" + item_id + "].zan_num"; - var text1 = "comments[" + item_id + "].userZanNum"; - var _errObj = {}; - _errObj[text] = num; - _errObj[text1] = 1; - th.setData(_errObj); - - } else { - var num = th.data.comments[item_id].zan_num; - num--; - var text = "comments[" + item_id + "].zan_num"; - var text1 = "comments[" + item_id + "].userZanNum"; - var _errObj = {}; - _errObj[text] = num; - _errObj[text1] = 0; - th.setData(_errObj); - } - - setTimeout(function() { - th.data.iszaning = 0; - }, 500) - - } - }) - }, - - /*----券的开关---*/ - switchCoupon: async function(event) { - var coupon = event.currentTarget.dataset.coupon; - var app = getApp(); - var url = "/api/weshop/prom/coupon/pageCouponList"; - var quan_list = this.data.quan_list; - var th = this; - - //当开启,且列表为空的情况下要 - if (!quan_list && coupon == "1") { - wx.showLoading(); - await app.request.promiseGet(url, { - data: { - store_id: os.stoid, - type: 1, - pageSize: 100, - page: 1, - user_id: app.globalData.user_id, - is_share:0 - } - }).then(res => { - wx.hideLoading(); - quan_list = res.data.data.pageData; - }) + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ + if (!th.data.def_pick_store) { + th.setData({def_pick_store:e.data.data.pageData[0]}) + } - if (quan_list) { - for (var ind in quan_list) { - var ep = quan_list[ind]; - var start = ut.formatTime(ep.use_start_time, "yyyy-MM-dd"); - var end = ut.formatTime(ep.use_end_time, "yyyy-MM-dd"); - start = start.replace("00:00:00", ""); - end = end.replace("00:00:00", ""); - quan_list[ind].start = start; - quan_list[ind].end = end; + } } - } - - th.setData({ - coupon: coupon, - quan_list: quan_list }); - } else { + } else { th.setData({ - coupon: coupon + 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) { + 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 + }) + } } }, - - //--查看评价-- - look_pj: function() { - this.tabComment(); - this.doScrollTop(); - }, - - //-----领取券----- - get_quan: function(e) { - var cid = e.currentTarget.dataset.cid; - var index = e.currentTarget.dataset.ind; - var item = this.data.quan_list[index]; - - - //--先判断会员状态-- - var user_info = getApp().globalData.userInfo; - if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { - wx.navigateTo({ - url: '/pages/togoin/togoin', - }) - return false; - } - - - //如果券还在领取中,不能再点 - if (item.linging == 1) { - getApp().my_warnning('领取中..', 0, this); - return false; + + //加载更多是靠这个函数 + onReachBottom: function() { + if (this.data.activeCategoryId == 2){ + if(!this.data.comments_no_more) this.requestComments_new(); } - //如果领取的次数到了 - if (item.everyone_num > 0 && item.lqnum >= item.everyone_num) { - getApp().my_warnning('领取失败,您已领完该券', 0, this); - return false; - } + var goods_list = this.selectComponent("#goods_list"); //组件的id + if (goods_list) goods_list.get_list(); + }, - var lq_num = item.lqnum; - var pdata = { - 'uid': oo.user_id, - 'cid': cid, - 'store_id': os.stoid, - 'type': 5 - }; - - //-- 导购ID -- - if(getApp().globalData.guide_id){ - pdata.guide_id=getApp().globalData.guide_id; - } - - var app = getApp(), - th = this; - app.request.post("/api/weshop/couponList/saveCouponList", { - data: pdata, - success: function(res) { - if (res.data.code == 0) { - app.my_warnning("领取成功", 1, th); - lq_num++; - var text = "quan_list[" + index + "].lqnum"; - var text2 = "quan_list[" + index + "].linging"; - var obj = {}; - obj[text] = lq_num; - obj[text2] = 0; - th.setData(obj); - } else { - app.confirmBox(res.data.msg); - var text2 = "quan_list[" + index + "].linging"; - var obj = {}; - obj[text2] = 0; - th.setData(obj); - } - } - }) + //---小于10的格式化函数---- + timeFormat(param) { + return param < 10 ? '0' + param : param; }, - + + //--定义的保存图片方法,分享团--- saveImageToPhotosAlbum: function() { //--先判断会员状态-- @@ -4279,33 +1523,6 @@ Page({ } }, - /*---视频相关--*/ - videopicture: function(e) { - var vipi = e.currentTarget.dataset.vipi; - this.setData({ - videopicture: vipi, - swiperCurrent: vipi, - noon: 0, - current: 1 - }); - }, - - videoPlay: function(e) { - var _index = e.currentTarget.id - this.setData({ - _index: _index, - noon: 1 - }) - - setTimeout(function() { - //将点击视频进行播放 - var videoContext = wx.createVideoContext(_index) - videoContext.play(); - }, 500) - }, - - - //--获取头像的本地缓存,回调写法-- get_head_temp: function(tt, func) { var ee = this; @@ -4358,16 +1575,6 @@ Page({ }); }, - //--外侧评价的点击效果--- - clik_evaluate: function(e) { - var val = e.currentTarget.dataset.val; - this.setData({ - activeCategoryId: 2, - activeCategoryId3: val, - comments: null - }); - this.requestComments_new(); - }, //--跳转到商品详情页面-- go_goods: function(e) { @@ -4376,11 +1583,6 @@ Page({ getApp().goto(url); }, - //--跳转到支付尾款界面-- - go_pay_wk: function() { - var url = "/pages/cart/cart_wk/cart_wk?order_id=" + this.data.wk_order_id; - getApp().goto(url); - }, pop_err_img: function(e) { var txt = e.currentTarget.dataset.errorimg; @@ -4389,25 +1591,6 @@ Page({ this.setData(ob); }, - //--调用更新阶梯团的接口-- - update_jiti: function(id) { - var th = this; - //--更新阶梯团-- - getApp().request.put("/api/weshop/teamgroup/updateTeamOrder/" + os.stoid + "/" + id, { - success: function(ee) { - //--等于0是要去支付尾款,接口调用失败,就要去查看参团详情-- - if (ee.data.code == 0) { - th.setData({ - user_order_pt_state: 3, - }); - } else if (ee.data.code == -1) { - th.setData({ - user_order_pt_state: 2, - }); - } - } - }) - }, // 选择门店 choice_store: function(ee) { var th = this; @@ -4437,27 +1620,20 @@ Page({ th.data.lat = res.latitude; th.data.lon = res.longitude; th.data.is_get_local_ok = 1; - th.setData({ - is_gps: 1 - }); - //th.onShow(); + th.setData({ is_gps: 1 }); th.get_sto(th.data.is_normal); }, fail: function(res) { - //th.onShow(); + th.data.is_get_local_ok = 1; th.get_sto(th.data.is_normal); if (res.errCode == 2) { - th.setData({ - is_gps: 0 - }); + th.setData({is_gps: 0}); if (th.data.is_gps == 0) { getApp().confirmBox("请开启GPS定位", null, 25000, !1); } } else { - th.setData({ - is_gps: "3" - }); + th.setData({ is_gps: "3" }); } } @@ -4520,8 +1696,6 @@ Page({ sort_store: 0 }) } - - }, //选择更多门店 @@ -4530,9 +1704,8 @@ Page({ sort_store: 1 }); }, - sort_store: function() { - - }, + + sort_store: function() { }, // 返回按钮 returns: function() { this.setData({ @@ -4563,52 +1736,6 @@ Page({ }, - //如果开启线下库存,已经急速库存才会使用 - async check_the_pick(item,func){ - var th=this; - var goodsinfo=th.data.sele_g; - var erpwareid=goodsinfo.erpwareid; - var plist=null; - var lock=0; - - //---如果是活动的时候,同时不是普通购买--- - if((th.data.prom_type==1 || th.data.prom_type==6 || th.data.prom_type==4) && !th.data.is_normal ) { - func(); return false; - } - - if(this.data.sales_rules!=2){ - func(); - }else{ - - //先读取门店的lock - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:goodsinfo.goods_id,storageId:item.pickup_id,pageSize:1000} - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - for(var i in res.data.data.pageData ) - lock+=res.data.data.pageData[i].outQty; - } - }) - //读取线下的门店库存 - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:item.pickup_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - plist=res.data.data.pageData[0]; - } - }) - - if(plist && plist.CanOutQty-lock>0){ - item.CanOutQty=plist.CanOutQty-lock; - func(); - return false; - } - getApp().my_warnning(item.pickup_name+"库存不足!", 0, th); - - } - }, - - //确定def_pick为选择的门店 sure_pick: function(e) { var th = this; @@ -4629,8 +1756,7 @@ Page({ } //判断门店的配送方式是不是匹配 - 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){ + if(th.data.storageId!=null && th.data.storageId!="" && th.data.storageId.indexOf(item.keyid)==-1){ wx.showToast({ title: "门店配送方式不匹配", icon: 'none', @@ -4639,18 +1765,18 @@ Page({ return false; } - //--回调函数的用法-- - th.check_the_pick(item,function(){ + th.setData({ def_pick_store: item, sto_sele_name: item.pickup_name, sto_sele_id: item.pickup_id, + sto_sele_keyid: item.keyid, sto_sele_distr: item.distr_type, store: 0, choice_sort_store: 0, fir_pick_index: 0 }); - + if (openindstore == 1) { th.setData({ openSpecModal: !0, @@ -4662,7 +1788,7 @@ Page({ openSpecModal_ind: openindstore, }); } - else if (openindstore == 4) { //4就是拼团 + else if(openindstore == 4) { //4就是拼团 th.setData({ openSpecModal_pt: 1, //打开拼团购买界面 store: 0, //关闭门店 @@ -4676,11 +1802,9 @@ Page({ choice_sort_store: 0, sort_store: 0 }) - } - //如果商品没有其他活动,要取一下线下价格 - th.get_off_price(); - }) + } }, + //---点击二级之后的选择--- choose_for_store: function(e) { var index_c = e.currentTarget.dataset.ind; @@ -4718,13 +1842,13 @@ Page({ return false; } - //先设置之前,要判断是不是有库存 - th.check_the_pick(item,function(){ - var store_id = o.stoid; - var user_id = getApp().globalData.user_id; - var def_pickup_id = item.pickup_id; + + + var store_id = o.stoid; + var user_id = getApp().globalData.user_id; + var def_pickup_id = item.pickup_id; - getApp().request.put('/api/weshop/users/update', { + getApp().request.put('/api/weshop/users/update', { data: { user_id:user_id, def_pickup_id:def_pickup_id @@ -4747,6 +1871,7 @@ Page({ def_pick_store: item, sto_sele_name: item.pickup_name, sto_sele_id: item.pickup_id, + sto_sele_keyid: item.keyid, sto_sele_distr: item.distr_type, store: 0, choice_sort_store: 0 @@ -4787,10 +1912,6 @@ Page({ }) } - //如果商品没有其他活动,要取一下线下价格 - th.get_off_price(); - - }) }, wait_for_store_config: function() { @@ -4830,135 +1951,26 @@ Page({ clearInterval(t_time); }, 500) }, - //显示全部 - toggleHandler: function(e) { - var that = this, - index = e.currentTarget.dataset.index; - for (var i = 0; i < that.data.comments.length; i++) { - if (index == i) { - for (var i = 0; i < that.data.comments.length; i++) { - that.data.comments[index].auto = true; - that.data.comments[index].seeMore = false; - } - } - } - that.setData({ - comments: that.data.comments - }) - }, - - //收起更多 - toggleContent: function(e) { - var that = this, - index = e.currentTarget.dataset.index; - for (var i = 0; i < that.data.comments.length; i++) { - if (index == i) { - that.data.comments[index].auto = true; - that.data.comments[index].seeMore = true; - } - } - that.setData({ - comments: that.data.comments - }) - }, - - //--- 获取卡类列表 --- - getPlusCardType: function (func) { - var storid = os.stoid; - var th = this; - 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(); - for (var i = 0; i < plusCard.length; i++) { - if((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); - } - - var ob={"card_list":plusCard,"name_map":card_name_map}; - func(ob); - }) - }, - - go_plus:function(){ - getApp().goto("/pages/user/plus/plus"); - }, - go_card_info:function(){ - getApp().goto("/pages/user/cardinfo/cardinfo"); - }, + + //-- 根据ID拿出门店 -- get_pick_from_list(pid){ var all_pick_list=this.data.all_pick_list; for(var i in all_pick_list){ var item=all_pick_list[i]; - if(item.pickup_id==pid){ - return item; - } - } - }, - //-----显示优惠券的时候情况----- - show_more_cx:function () { - if(this.data.is_more_cx){ - this.setData({is_more_cx:0}); - }else{ - this.setData({is_more_cx:1}); + if(item.pickup_id==pid){ return item;} } }, - - //----跳转到搭配购买---- - go_prom_list:function () { - - var url= "../../../packageA/pages/prom_list/prom_list?goods_id="+this.data.gid; - var room_id= getApp().globalData.room_id; - if(room_id && this.data.gid==getApp().globalData.room_goods_id){ - url+="&room_id="+room_id; - } - wx.navigateTo({ url: url,}) - }, - - //---检查有没有优惠活动--- - check_is_youhui:function(gid){ - var th=this; - //调用接口判断订单优惠, - getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+gid+"/0", {}).then(res => { - if(res.data.code==0){ - var r_data=res.data.data; - var max=0,min=0; - if(r_data.collocationList){ - for(var i in r_data.collocationList){ - if(max==0) max=r_data.collocationList[i].price; - if(min==0) min=r_data.collocationList[i].price; - - if(maxparseFloat(r_data.collocationList[i].price)) min=r_data.collocationList[i].price; - } - r_data.collocationPromList.max=(max+th.data.data.shop_price).toFixed(2); - r_data.collocationPromList.min=(min+th.data.data.shop_price).toFixed(2); - } - th.setData({ - order_prom:r_data.promOrder, - collocationGoods:r_data.collocationPromList, - prom_goods:r_data.promGoodsLists, - }) - - th.is_show_more_buy(); - } - }) - }, - - closePoster() { + + closePoster() { this.setData({ showPoster: false, }); - }, + }, // 保存图片到手机 - savePic() { - console.log('保存图片'); + savePic() { + console.log('保存图片'); var self = this; // 获取用户的当前设置,返回值中有小程序已经向用户请求过的权限 this.getSetting().then((res) => { @@ -4977,9 +1989,7 @@ Page({ // 如果已经授权,保存下载文件 this.saveImage(self.data.shareImgPath) .then(() => { - self.setData({ - showPoster: false - }); + self.setData({ showPoster: false }); }); } @@ -5027,8 +2037,7 @@ Page({ }) }) }, - - + // 保存图片到系统相册 saveImage(saveUrl) { var self = this; @@ -5061,61 +2070,7 @@ Page({ urls: [this.data.shareImgPath] }); }, - - is_show_more_buy:function(){ - var prom_goods=this.data.prom_goods; - var per_price=this.data.sele_g.shop_price - if(this.data.card_field && this.data.sele_g[this.data.card_field]>0){ - per_price=this.data.sele_g[this.data.card_field]; - } - var all_price=per_price*this.data.goodsInputNum; - var con=null; - for(var i in prom_goods){ - var item=prom_goods[i]; - if(item.prom_type==1){ - if(item.condition>this.data.goodsInputNum) { - con=item; - con.need=(item.condition-this.data.goodsInputNum)+"件"; - break; - } - }else{ - if(item.condition>all_price){ - con=item; - con.need=(item.condition-all_price)+"元"; - break; - } - } - } - - this.setData({hui_condition:con}); - - }, - - //-- 积分购 -- - go_pay_integral:function(){ - this.get_sto(0) - this.setData({openSpecModal_inte:1}); - }, - //-- 积分购普通购买 -- - go_pay_integral_normal:function(){ - this.get_sto(1) - this.setData({openSpecModal_inte_normal:1}); - }, - - closeSpecModal_inte:function(){ - this.setData({openSpecModal_inte:0}); - } , - closeSpecModal_inte_normal:function(){ - this.setData({openSpecModal_inte_normal:0}); - }, - - addCart_inte:function(t){ - this.add_cart_func_inte(t); - }, - - - - + onShareTimeline() { return { title:this.data.data.goods_name + '-' + getApp().globalData.config.store_name, diff --git a/packageA/pages/goodsInfo/goodsInfo.wxml b/packageA/pages/goodsInfo/goodsInfo.wxml index f584c32..e918429 100644 --- a/packageA/pages/goodsInfo/goodsInfo.wxml +++ b/packageA/pages/goodsInfo/goodsInfo.wxml @@ -14,419 +14,46 @@ --> - - - - + --> - - - - - + - +