diff --git a/packageB/pages/luckactivity/index/index.js b/packageB/pages/luckactivity/index/index.js
index b9d8f7d..21676ac 100644
--- a/packageB/pages/luckactivity/index/index.js
+++ b/packageB/pages/luckactivity/index/index.js
@@ -35,6 +35,7 @@ Page({
if(index == 0) {
data.is_end = 0;
+ data.timetype = 1;
} else if(index == 1) {
data.is_end = 1;
};
@@ -82,6 +83,7 @@ Page({
store_id: app.globalData.setting.stoid,
user_id: app.globalData.userInfo.user_id,
is_end: 0,
+ timetype:1
};
this.setData({
diff --git a/packageB/pages/zuhegou/index/index.js b/packageB/pages/zuhegou/index/index.js
index 0320076..3806d41 100644
--- a/packageB/pages/zuhegou/index/index.js
+++ b/packageB/pages/zuhegou/index/index.js
@@ -1,311 +1,1588 @@
-
const app = getApp();
let self = null;
+var os = app.globalData.setting;
+var ut = require("../../../../utils/util.js");
+var oo = app.globalData;
+
let imgDraw = {
- "width": "650px",
- "height": "843px",
- "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg",
- "views": [
- { // 头像
- "type": "image",
- "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
- "css": {
- "width": "100px",
- "height": "100px",
- "top": "20px",
- "left": "275px",
- "borderRadius": "100px",
- "mode": "scaleToFill",
- "borderWidth": "2px",
- "borderColor": "#fff",
- }
- },
- { //昵称
- "type": "text",
- "text": "我是店铺",
- "css": {
- "width": "650px",
- "color": "#fff",
- "top": "136px",
- "fontSize": "26px",
- "maxLines": "1",
- "textAlign": "center",
- }
- },
- { //10元任选3件
- "type": "text",
- "text": "10元任选3件",
- "css": {
- "color": "#fff",
- "width": "650px",
- "top": "270px",
- "fontSize": "70px",
- "maxLines": "1",
- "textAlign": "center",
- "fontWeight": "bold",
- }
- },
- { //活动时间
- "type": "text",
- "text": "活动时间:2021.07.06 - 2021.07.08",
- "css": {
- "color": "#333",
- "width": "650px",
- "top": "440px",
- "fontSize": "26px",
- "fontWeight": "normal",
- "maxLines": "1",
- "textAlign": "center"
- }
- },
- { // 码
- "type": "qrcode",
- "content": "二维码地址",
- "css": {
- "color": "#000",
- "width": "200px",
- "height": "200px",
- "top": "525px",
- "left": "225px",
- }
- },
- { // 扫码提示
- "type": "text",
- "text": "长按扫码即可参与活动",
- "css": {
- "color": "#666",
- "width": "650px",
- "top": "750px",
- "fontSize": "26px",
- "textAlign": "center"
- }
- },
- ]
+ "width": "650px",
+ "height": "843px",
+ "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg",
+ "views": [
+ { // 头像
+ "type": "image",
+ "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
+ "css": {
+ "width": "100px",
+ "height": "100px",
+ "top": "20px",
+ "left": "275px",
+ "borderRadius": "100px",
+ "mode": "scaleToFill",
+ "borderWidth": "2px",
+ "borderColor": "#fff",
+ }
+ },
+ { //昵称
+ "type": "text",
+ "text": "我是店铺名",
+ "css": {
+ "width": "650px",
+ "color": "#fff",
+ "top": "136px",
+ // "left": "137px",
+ "textAlign": "center",
+ "fontSize": "26px",
+ "maxLines": "1",
+ }
+ },
+ { //10元任选3件
+ "type": "text",
+ "text": "10元任选3件",
+ "css": {
+ "color": "#fff",
+ "width": "650px",
+ "top": "270px",
+ "fontSize": "70px",
+ "maxLines": "1",
+ "textAlign": "center",
+ "fontWeight": "bold",
+ }
+ },
+ { //活动时间
+ "type": "text",
+ "text": "活动时间:2021.07.06 - 2021.07.08",
+ "css": {
+ "color": "#333",
+ "width": "650px",
+ "top": "440px",
+ "fontSize": "26px",
+ "fontWeight": "normal",
+ "maxLines": "1",
+ "textAlign": "center"
+ }
+ },
+ { // 码
+ "type": "image",
+ "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
+ "css": {
+ "color": "#000",
+ "width": "200px",
+ "height": "200px",
+ "top": "525px",
+ "left": "225px",
+ }
+ },
+ { // 扫码提示
+ "type": "text",
+ "text": "长按扫码即可参与活动",
+ "css": {
+ "color": "#666",
+ "width": "650px",
+ "top": "750px",
+ "fontSize": "26px",
+ "textAlign": "center"
+ }
+ },
+ ]
};
Page({
- /**
- * 页面的初始数据
- */
- data: {
- showRule: false,
- showMask: false,
- showNum: false,
- haveAdded: false,
- imgDraw: imgDraw,
- },
-
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- self = this;
- },
-
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
-
- },
-
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
-
- },
-
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
-
- },
-
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
-
- },
-
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
-
- },
-
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
-
- },
-
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
-
- },
-
- /**
- * 点击规则详情,弹出规则
- */
- showRule() {
- this.setData({
- type: 0, //控制显示规则详情还是提示信息,0规则详情,1提示信息
- showRule: true,
- showMask: true,
- });
- },
-
- /**
- * 点击关闭按钮关闭规则详情弹窗
- */
- closeRule() {
- this.setData({
- showRule: false,
- showMask: false,
- });
- },
-
- /**
- * 点击提示信息
- */
- showInfo() {
- this.setData({
- type: 1,
- showRule: true,
- showMask: true,
- });
- },
-
- /**
- * 加入购物车
- */
- addToCart() {
- let haveAdded = !this.data.haveAdded;
- let title = '';
- if(haveAdded) {
- title = '加入购物车成功';
- this.setData({
- num: 1,
- showNum: true,
- haveAdded,
- });
- wx.showToast({
- title: title,
- icon: 'success',
- });
- } else {
- wx.showModal({
- title: '温馨提示',
- content: '确定将该商品移出购物车?',
- success (res) {
- if (res.confirm) {
- console.log('用户点击确定');
- title = '移除购物车成功';
- self.setData({
- showNum: false,
- haveAdded: false,
- });
- wx.showToast({
- title: title,
- icon: 'success',
- });
- } else if (res.cancel) {
- console.log('用户点击取消')
- self.setData({
- haveAdded: true,
- });
- }
- }
- })
-
- }
-
- },
-
- /**
- * 增加数量
- */
- add() {
- this.setData({
- num: ++this.data.num,
- });
- },
-
- /**
- * 减少数量
- */
- sub() {
- let num = this.data.num;
- if(num >= 2) {
- this.setData({
- num: --this.data.num,
- });
- };
- if(num == 1) {
- // this.setData({
- // showNum: false,
- // haveAdded: false,
- // });
- wx.showModal({
- title: '温馨提示',
- content: '确定将该商品移出购物车?',
- success (res) {
- if (res.confirm) {
- console.log('用户点击确定');
- // title = '移除购物车成功';
- self.setData({
- showNum: false,
- haveAdded: false,
- });
- wx.showToast({
- title: '移除购物车成功',
- icon: 'success',
- });
- } else if (res.cancel) {
- console.log('用户点击取消')
- self.setData({
- haveAdded: true,
- });
- }
- }
- })
- }
- },
-
- /**
- * 分享
- */
- share() {
- this.setData({
- showMask: true,
- showPoster: true,
- });
- },
-
- /**
- * 关闭海报
- */
- closePoster() {
- this.setData({
- showMask: false,
- showPoster: false,
- });
- },
-
- onImgOK(e) {
- console.log(e.detail.path);
- this.setData({
- myimg: e.detail.path,
- });
- },
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ iurl: os.imghost,
+ showRule: false,
+ showMask: false,
+ showNum: false,
+ haveAdded: false,
+ //imgDraw: imgDraw, 分享内容
+ id: 0, //获得活动id
+ page: 1, //第一页
+ no_more: 0, //没有更多
+ loading: 0, //加载中
+ list: [], //商品列表的显示
+ act: null, //组合活动
+ all_price: 0, //合计价格
+ all_num: 0, //全部数量
+ sele_pick_id: 0, //默认选择门店,当用户什么商品都没有选,sele_pick_id=0
+ def_store: null, //用户默认的门店
+ sele_store: 0, //是不是选择了门店
+ more_store: 0, //选择门店
+ sort_store: 0, //门店分类
+ choice_sort_store: 0, //选择分类门店
+ fir_pick_index: 0, //门店选择的下标
+ sec_pick_index: 0 //门店选择的下标,地区选择之后的内页
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ self = this;
+ this.data.id = options.id;
+
+ //获取活动信息
+ var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + options.id;
+ getApp().request.get(url, {
+ success: function (e) {
+ if (e.data.code == 0 && e.data.data) {
+ self.setData({act: e.data.data});
+ if (e.data.data.is_end == 0) {
+ //-- 获取商品列表 --
+ self.get_list();
+ self.countDown();
+ }
+ } else {
+ wx.showToast({
+ title: e.data.msg,
+ icon: 'none',
+ duration: 2000
+ })
+ }
+ }
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ var th = this, that = this, ee = this;
+ this.data.is_timer = 1;
+ if (this.data.act) this.countDown();
+ //如果有会员的时候
+ var userInfo = getApp().globalData.userInfo;
+ if (userInfo) {
+ //等待活动值
+ this.waitfor(10, th.data.act, function () {
+ //获取头像的分享
+ th.get_head_temp(function () {
+ var txt = th.data.act.zhprice + "元任选" + th.data.act.zhbuyqty + "件";
+ imgDraw.views[0].url = th.data.share_head;
+ imgDraw.views[1].text = userInfo.nickname;
+ imgDraw.views[2].text = txt;
+
+ var start = ut.formar_no_full(th.data.act.start_time, '.');
+ var end = ut.formar_no_full(th.data.act.end_time, '.');
+ txt = "活动时间:" + start + " - " + end;
+ imgDraw.views[3].text = txt;
+
+ var scene = th.data.gid + "";
+ var user_id = getApp().globalData.user_id;
+ scene += "_" + user_id;
+ ///二微码
+ var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
+ os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo";
+ wx.getImageInfo({
+ src: path3,
+ success: function (res) {
+ var vpath = res.path;
+ imgDraw.views[4].url = vpath;
+ th.setData({imgDraw: imgDraw})
+ }
+ })
+ })
+ })
+ //获取用户的默认门店
+ getApp().get_user_store(function (e) {
+ if (!e) {
+ th.data.fir_def_store = {}; //赋值空对象
+ return false;
+ }
+ var ee = JSON.parse(JSON.stringify(e));
+ var appd = getApp().globalData;
+ //-- 等待定位系统的开启 --
+ th.waitfor(15, th.data.is_get_local_ok, function () {
+ var e = JSON.parse(JSON.stringify(ee));
+ //如果有开启近距离的话,同时距离优不一样了
+ if (that.data.lat != null) {
+ //如果经纬度有变化的话
+ if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) {
+ that.set_def_storage(e);
+ } else {
+ //要用接口是获取距离,js的计算不准
+ getApp().request.promiseGet("/api/weshop/pickup/list", {
+ data: {
+ store_id: os.stoid,
+ pickup_id: e.pickup_id,
+ lat: th.data.lat,
+ lon: th.data.lon
+ },
+ }).then(res => {
+ if (res.data.code == 0) {
+ e = res.data.data.pageData[0];
+ if (e) {
+ e.is_no_dis = ee.is_no_dis;
+ appd.pk_store = e;
+ that.set_def_storage(e);
+ }
+
+ }
+ })
+ }
+ appd.lat = that.data.lat;
+ appd.lon = that.data.lon;
+ } else {
+ if (e) {
+ e.distance = null;
+ that.set_def_storage(e);
+ }
+ }
+ })
+ });
+ }
+
+ //----获取系统参数-----
+ getApp().getConfig2(function (e) {
+ ee.setData({
+ bconfig: e,
+ sales_rules: e.sales_rules,
+ });
+ //设置基本参数
+ th.wait_for_store_config(e);
+
+ var json_d = JSON.parse(e.switch_list);
+ ee.setData({
+ store_config: e,
+ sys_switch: json_d,
+ is_closecoupon: json_d.is_closecoupon,
+ is_newsales_rules: json_d.is_newsales_rules,
+ is_open_offline: json_d.is_pricing_open,
+ sales_rules: e.sales_rules
+ });
+
+ //-- 计算等级价相关 --
+ var swithc_list = e.switch_list;
+ var sw_arr = JSON.parse(swithc_list);
+ //---如果后台又开等级卡的开关---
+ if (sw_arr.rank_switch && sw_arr.rank_switch == "2") {
+ th.setData({rank_switch: true});
+ //---回调卡的列表---
+ th.getPlusCardType(function (ob) {
+ th.setData({card_list: ob.card_list});
+ var user = getApp().globalData.userInfo;
+ if (!user) return false;
+ if (user.card_field && user['card_expiredate']) {
+ var str = user['card_expiredate'].replace(/-/g, '/');
+ var end = new Date(str);
+ end = Date.parse(end) / 1000;
+ var now = ut.gettimestamp();
+ //--- 判断是等级会员,且在有效期范围内 ---
+ if (user.card_field && now < end) {
+ var card_name = ob.name_map.get(user.card_field);
+ th.setData({
+ card_field: user.card_field,
+ card_name: card_name,
+ card_list: ob.card_list
+ });
+ }
+ }
+
+ })
+ }
+ }, 1);
+
+ },
+
+ onHide: function () {
+ this.data.is_timer = 0;
+ },
+
+ //-- 调用接口的LIST,获取商品 --
+ get_list: function () {
+ var th = this;
+ if (this.data.loading) return false;
+ if (this.data.no_more) return false;
+ this.data.loading = 1;
+ var url = "/api/weshop/prom/zhbuyGoods/page";
+ var req_data = {
+ page: this.data.page,
+ pageSize: 10,
+ store_id: os.stoid,
+ zh_id: this.data.id
+ }
+ //开始调用接口
+ getApp().request.get(url, {
+ data: req_data,
+ success: function (res) {
+ th.data.loading = 0;
+ th.setData({is_get: 1})
+ if (ut.ajax_ok(res)) {
+ th.data.page++;
+ var list = th.data.list;
+ for (var i in res.data.data.pageData) {
+ list.push(res.data.data.pageData[i]);
+ }
+ th.setData({list: list});
+ if (res.data.data.total <= 10) {
+ th.setData({no_more: 1});
+ }
+ } else {
+ th.setData({no_more: 1});
+ }
+ }
+ })
+ },
+
+ //-- 滚动到底部触发 --
+ get_more_list: function () {
+ this.get_list();
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ },
+
+ /**
+ * 点击规则详情,弹出规则
+ */
+ showRule() {
+ this.setData({
+ type: 0, //控制显示规则详情还是提示信息,0规则详情,1提示信息
+ showRule: true,
+ showMask: true,
+ });
+ },
+
+ /**
+ * 点击关闭按钮关闭规则详情弹窗
+ */
+ closeRule() {
+ this.setData({
+ showRule: false,
+ showMask: false,
+ });
+ },
+
+ /**
+ * 点击提示信息
+ */
+ showInfo() {
+ this.setData({
+ type: 1,
+ showRule: true,
+ showMask: true,
+ });
+ },
+
+ /**
+ * 加入购物车
+ */
+ addToCart(e) {
+ var th = this;
+ var index = e.currentTarget.dataset.index;
+ var userInfo = getApp().globalData.userInfo;
+ if (!userInfo) {
+ getApp().goto("/pages/togoin/togoin");
+ return false;
+ }
+ let haveAdded = this.data.list[index].haveAdded;
+ this.data.sele_index = index;
+ let title = '';
+ self = this;
+
+ //说明是加入购物车是时候
+ this.data.is_zuhe_addcart = 1;
+ if (!haveAdded) {
+ th.data.sele_g = this.data.list[index];
+ if (!th.data.sele_g.num) th.data.goodsInputNum = 1;
+
+ //如果没有门店,活动商品的配送方式和门店的配送方式不一样
+ if (!th.data.def_pick_store ||
+ (th.data.sele_g.distr_type != 0 && th.data.def_pick_store.distr_type != 0 && th.data.sele_g.distr_type != th.data.def_pick_store.distr_type)) {
+ //选择了门店
+ if (th.data.sele_store) {
+ wx.showToast({
+ title: "该商品的物流配送方式和默认门店不匹配!",
+ icon: 'none',
+ duration: 2000
+ })
+ } else {
+ wx.showModal({
+ title: '温馨提示',
+ content: '该商品的物流配送方式和默认门店不匹配,是否要切换门店?',
+ success (res) {
+ if (res.confirm) {
+ //物流的配送方式不一样
+ th.get_sto();
+ var set_data = {
+ store: 1
+ };
+ if (th.data.def_pick_store) {
+ set_data.is_no_pipei = th.data.def_pick_store.pickup_id;
+ }
+ th.setData(set_data);
+ }
+ }
+ })
+ }
+ return false;
+ } else {
+ th.setData({is_no_pipei: 0});
+ th.add_cart_func();
+ }
+ } else {
+ wx.showModal({
+ title: '温馨提示',
+ content: '确定将该商品移出购物车?',
+ success (res) {
+ if (res.confirm) {
+ console.log('用户点击确定');
+ title = '移除购物车成功';
+ th.setData({
+ [txt1]: 1,
+ [txt2]: false,
+ [txt]: !haveAdded,
+ });
+ wx.showToast({
+ title: title,
+ icon: 'success',
+ });
+ } else if (res.cancel) {
+ console.log('用户点击取消')
+ self.setData({
+ haveAdded: true,
+ });
+ }
+ }
+ })
+ }
+
+ },
+
+ /**
+ * 增加数量
+ */
+ add(e) {
+
+ var th = this;
+ var userInfo = getApp().globalData.userInfo;
+ if (!userInfo) {
+ getApp().goto("/pages/togoin/togoin");
+ return false;
+ }
+
+ var index = e.currentTarget.dataset.index;
+ this.data.sele_g = this.data.list[index];
+ this.data.sele_index=index;
+ th.data.goodsInputNum = this.data.sele_g.num + 1;
+ th.add_cart_func();
+ },
+
+ /**
+ * 减少数量
+ */
+ sub(e) {
+ var userInfo = getApp().globalData.userInfo;
+ if (!userInfo) {
+ getApp().goto("/pages/togoin/togoin");
+ return false;
+ }
+
+ var th = this;
+ var index = e.currentTarget.dataset.index;
+ var item = this.data.list[index];
+ let num = item.num;
+
+ if (num >= 2) {
+ var check_num = num - 1;
+ //小于起购数
+ if (check_num < item.zhqty) {
+ wx.showToast({
+ title: "该商品至少要购买" + item.zhqty + "件",
+ icon: 'none',
+ duration: 2000
+ })
+ return false;
+ }
+
+ th.data.sele_g = item;
+ th.data.sele_index = index;
+ th.data.goodsInputNum = check_num;
+ th.sub_updata_cart();
+ return false;
+ }
+
+ wx.showModal({
+ title: '温馨提示',
+ content: '确定将该商品移出购物车?',
+ success (res) {
+ if (res.confirm) {
+
+ self.setData({
+ showNum: false,
+ haveAdded: false,
+ });
+ wx.showToast({
+ title: '移除购物车成功',
+ icon: 'success',
+ });
+ th.re_sum_price();//重新统计数量和总金额
+ } else if (res.cancel) {
+ console.log('用户点击取消')
+ self.setData({
+ haveAdded: true,
+ });
+ }
+ }
+ })
+ return false;
+
+ },
+
+ /** 分享 **/
+ share() {
+ var th = this;
+ var userInfo = getApp().globalData.userInfo;
+ if (!userInfo) {
+ getApp().goto("/pages/togoin/togoin");
+ return false;
+ }
+ wx.showLoading();
+ setTimeout(function () {
+ th.setData({
+ showMask: true,
+ showPoster: true,
+ });
+ wx.hideLoading();
+ }, 1000);
+ },
+
+ /**
+ * 关闭海报
+ */
+ closePoster() {
+ this.setData({
+ showMask: false,
+ showPoster: false,
+ });
+ },
+
+ onImgOK(e) {
+ console.log(e.detail.path);
+ this.setData({
+ myimg: e.detail.path,
+ });
+
+ },
+
+ //---小于10的格式化函数----
+ timeFormat(param) {
+ return param < 10 ? '0' + param : param;
+ },
+
+ //----倒计时函数-----
+ countDown() {
+ if (!this.data.is_timer) return false;
+ var th = this;
+ // 获取当前时间,同时得到活动结束时间数组
+ var endTime = this.data.act.end_time;
+ var newTime = ut.gettimestamp();
+ // 对结束时间进行处理渲染到页面
+ var obj = null;
+ // 如果活动未结束,对时间进行处理
+ if (endTime - newTime > 0) {
+ var time = (endTime - newTime);
+ // 获取天、时、分、秒
+ var day = parseInt(time / (60 * 60 * 24));
+ var hou = parseInt(time % (60 * 60 * 24) / 3600);
+ var min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
+ var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
+ obj = {
+ hou: this.timeFormat(hou),
+ min: this.timeFormat(min),
+ sec: this.timeFormat(sec)
+ }
+ if (day > 0) {
+ obj.day = this.timeFormat(day);
+ }
+ } else {
+ //活动已结束,全部设置为'00'
+ obj = {
+ day: '00',
+ hou: '00',
+ min: '00',
+ sec: '00'
+ }
+ th.setData({
+ prom_time_text: '活动已经结束:',
+ prom_st: 3
+ })
+ th.setData({
+ djs: obj
+ });
+ return false;
+ }
+
+ th.setData({
+ djs: obj
+ });
+ setTimeout(function () {
+ th.countDown()
+ }, 1000);
+ },
+
+ close_all: function () {
+ this.setData({
+ showMask: false,
+ showPoster: false,
+ showRule: false
+ });
+ },
+
+
+ //------定时等待某个值,有值才进行运算--------
+ waitfor: function (n, pop_value, func) {
+ var th = this;
+ if (n <= 0) {
+ func()
+ return false
+ }
+ if (pop_value) {
+ func();
+ return false;
+ }
+ setTimeout(function () {
+ --n;
+ th.waitfor(n, pop_value, func)
+ }, 1000);
+ },
+
+ //--获取头像的本地缓存,回调写法--
+ get_head_temp: function (tt) {
+ var ee = this;
+ if (ee.data.share_head) {
+ tt();
+ return false;
+ }
+ //---获取分享图片的本地地址,头像和商品图片----
+ var path2 = getApp().globalData.userInfo.head_pic;
+ if (path2 == "") {
+ ee.data.share_head = "../../../../images/share/hui_hear_pic.png";
+ tt();
+ } else {
+ path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
+ path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
+ wx.getImageInfo({
+ src: path2,
+ success: function (res) {
+ //res.path是网络图片的本地地址
+ console.log(res);
+ ee.data.share_head = res.path;
+ tt();
+ },
+ fail: function () {
+ ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的
+ tt();
+ }
+ });
+ }
+ },
+
+ go_url: function (e) {
+ var url = e.currentTarget.dataset.url;
+ getApp().goto(url);
+ },
+
+ //-- 加入购物的函数 --
+ add_cart_func: function () {
+ if (oo.user_id == null) {
+ return getApp().my_warnning("还未登录!", 0, this);
+ }
+ if (!getApp().globalData.userInfo) {
+ return getApp().my_warnning("还未登录!", 0, this);
+ }
+
+ var e = this,
+ th = e,
+ o = this.data.sele_g,
+ a = o.goods_id;
+
+ //----------添加到购物车时,要判断限购数量,--------
+ e.get_buy_num(o, function (ee) {
+ //---判断商品是否超出限购---
+ if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
+ if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) {
+ wx.showModal({
+ title: '提示',
+ content: '超出商品限购'
+ });
+ return false;
+ }
+ }
+ //---判断商品是否超出活动限购---
+ if (th.data.sele_g.buyqty > 0) {
+ if (th.data.goodsInputNum > th.data.sele_g.buyqty) {
+ 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: os.stoid,
+ goods_price: o.shop_price,
+ member_goods_price: o.shop_price,
+ goods_name: o.goods_name,
+ goods_sn: o.goods_sn,
+ };
+
+ //---是不是从收藏夹出来的---
+ if (th.data.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;
+ }
+
+ if (o.store_count <= 0) return getApp().my_warnning("库存已为空!", 0, th);
+ if (o.store_count < e.data.goodsInputNum) return getApp().my_warnning("库存不足!", 0, th);
+ th.add_cart_next(o, newd); //加入购物车下一步
+
+ })
+ },
+
+ //---加入购物车的最后一步---
+ add_cart_next(o, newd){
+ var th = this;
+ //如果会员有等级价
+ if (th.data.card_field) {
+ var card_price = o[th.data.card_field];
+ if (card_price > 0) {
+ newd.goods_price = card_price;
+ newd.member_goods_price = card_price;
+ }
+ }
+
+ var index = this.data.sele_index;
+ var txt = "list[" + index + "].haveAdded";
+ var txt1 = "list[" + index + "].num";
+ var txt2 = "list[" + index + "].showNum";
+ var txt3 = "list[" + index + "].current_price";
+
+
+ newd.prom_type = 7;
+ newd.prom_id = th.data.act.id;
+
+ if (th.data.adding) return false;
+ th.data.adding = 1;
+ //-------如果购物车中有相关的数据---------
+ if (th.data.goodsInputNum > 1) {
+ var item = th.data.sele_g;
+ if (th.data.goodsInputNum > o.store_count) {
+ th.data.adding = 0;
+ return getApp().my_warnning("库存不足!", 0, th);
+ }
+ if (th.data.goodsInputNum > o.buyqty) {
+ th.data.adding = 0;
+ return getApp().my_warnning("超出商品活动限购!", 0, th);
+ }
+ if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited
+ && th.data.sele_g.viplimited > 0
+ ) {
+ th.data.adding = 0;
+ return getApp().my_warnning("超出商品限购!", 0, th);
+ }
+
+ //如果商品没有其他活动,要取一下线下价格
+ var updata = {
+ id: item.cart_id,
+ goods_num: th.data.goodsInputNum,
+ goods_price: newd.goods_price,
+ member_goods_price: newd.goods_price,
+ store_id: os.stoid,
+ };
+
+ //---是不是从收藏夹出来的---
+ if (th.data.c_guide_id) {
+ updata['guide_id'] = th.data.c_guide_id;
+ updata['guide_type'] = 3; //加入购物车之后就变成了3
+ } else {
+ if (getApp().globalData.guide_id) {
+ updata['guide_id'] = getApp().globalData.guide_id;
+ updata['guide_type'] = 0;
+ }
+ }
+ getApp().request.put("/api/weshop/cart/update", {
+ data: updata,
+ success: function (t) {
+ th.setData({
+ [txt1]: updata.goods_num,
+ [txt2]: true,
+ [txt]: true,
+ [txt3]: newd.goods_price,
+ });
+ th.data.adding = 0;
+ th.data.sele_store = 1;
+ th.re_sum_price();//重新统计数量和总金额
+ }
+ });
+
+
+ } else {
+
+ getApp().request.post("/api/weshop/cart/save", {
+ data: newd,
+ success: function (t) {
+ if (t.data.code == 0) {
+ var txt4 = "list[" + th.data.sele_index + "].cart_id";
+ th.setData({
+ [txt1]: newd.goods_num,
+ [txt2]: true,
+ [txt3]: newd.goods_price,
+ [txt]: true,
+ [txt4]: t.data.data.id,
+ });
+
+ th.data.adding = 0;
+ th.data.sele_store = 1;
+ th.re_sum_price();//重新统计数量和总金额
+ }
+ }
+ });
+ }
+ },
+
+ //等待获取配置
+ wait_for_store_config: function (bconfig) {
+ var th = this;
+ var e = bconfig;
+ if (e && e.is_sort_storage) {
+ wx.getLocation({
+ type: 'gcj02',
+ success: function (res) {
+ th.data.lat = res.latitude;
+ th.data.lon = res.longitude;
+ th.data.is_get_local_ok = 1;
+ },
+ fail: function (res) {
+ if (res.errCode == 2) {
+ th.setData({
+ is_gps: 0
+ });
+ if (th.data.is_gps == 0) {
+ getApp().confirmBox("请开启GPS定位", null, 10000, !1);
+ }
+
+ } else {
+ th.setData({
+ is_gps: "3"
+ });
+ }
+
+ th.data.is_get_local_ok = 1;
+ }
+ })
+ } else {
+ th.data.is_get_local_ok = 1;
+ }
+ },
+
+ //--- 获取卡类列表 ---
+ getPlusCardType: function (func) {
+ var storid = os.stoid;
+ var user = getApp().globalData.userInfo;
+ if (!user) return false;
+ getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => {
+ var plusCard = res.data.data;
+ var arr = [1219, 2089, 3031];
+ var new_arr = new Array();
+ var card_name_map = new Map();
+
+ var list = [];
+ for (var i = 0; i < plusCard.length; i++) {
+ if ((!user || user.card_field == null || user.card_field == "") && plusCard[i].IsStopBuy == true) continue;
+ var name = "card" + plusCard[i].CorrPrice.toLowerCase();
+ card_name_map.set(name, plusCard[i].CardName);
+ list.push(plusCard[i]);
+ }
+
+ var ob = {"card_list": list, "name_map": card_name_map};
+ func(ob);
+ })
+ },
+
+
+ //--- 设置一下默认库存的数量 ----
+ set_def_storage(ee){
+ var that = this;
+ that.data.fir_def_store = ee;
+ that.setData({
+ def_pick_store: ee,
+ sto_sele_name: ee.pickup_name,
+ sto_sele_id: ee.pickup_id,
+ sto_sele_distr: ee.distr_type
+ })
+ },
+
+ //---------拿出门店分类和门店------------
+ get_sto(e) {
+ var th = this;
+ this.waitfor(15, th.data.is_get_local_ok, function () {
+ if (!th.data.sele_g) return false;
+ var dd = null;
+ var g_distr_type = th.data.sele_g.distr_type;
+ if (g_distr_type != 0) {
+ dd = {
+ store_id: os.stoid,
+ distr_type: g_distr_type,
+ isstop: 0,
+ pageSize: 2000
+ }
+ } else {
+ dd = {
+ store_id: o.stoid,
+ isstop: 0,
+ pageSize: 2000
+ }
+ }
+
+ //如果有距离的话
+ if (th.data.lat != null) {
+ dd.lat = th.data.lat;
+ dd.lon = th.data.lon;
+ }
+
+ //如果会员是有默认的门店话
+ if (!th.data.def_pick_store && th.data.fir_def_store) {
+ th.setData({def_pick_store: 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 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 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});
+ th.deal_pickup(e);
+
+
+ }
+ })
+ })
+ },
+ //------------处理门店---------------
+ deal_pickup(e){
+ var th = this;
+ wx.hideLoading();
+ //单总量超出5个的时候
+ if (e.data.data.total > 5) {
+ getApp().request.get("/api/weshop/storagecategory/page", {
+ data: {
+ store_id: os.stoid,
+ is_show: 1,
+ pageSize: 1000,
+ orderField: "sort",
+ orderType: 'asc',
+ },
+ success: function (ee) {
+ if (ee.data.code == 0) {
+ if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
+ var def_arr = new Array();
+ //-- 开始就看5个门店 --
+ for (var k = 0; k < 5; k++) {
+ if (k == e.data.data.pageData.length) break;
+ def_arr.push(e.data.data.pageData[k]);
+ }
+
+ th.setData({
+ def_pickpu_list: def_arr,
+ pickpu_list: ee.data.data.pageData
+ });
+ var sto_cate = ee.data.data.pageData;
+ var sto_arr = e.data.data.pageData;
+ var newarr = new Array();
+ var qita = new Array();
+
+ //----要进行门店分组--------
+ for (var i = 0; i < sto_arr.length; i++) {
+ //找一下这个门店有没有在分类数组内
+ var find2 = 0, find2name = "", sort = 0;
+ for (var m = 0; m < sto_cate.length; m++) {
+ if (sto_arr[i].category_id == sto_cate[m].cat_id) {
+ find2 = sto_cate[m].cat_id;
+ find2name = sto_cate[m].cat_name;
+ sort = sto_cate[m].sort;
+ break;
+ }
+ }
+
+ if (newarr.length > 0) {
+ var find = 0;
+ //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
+ if (find2 != 0) {
+ for (var ii = 0; ii < newarr.length; ii++) {
+ if (sto_arr[i].category_id == newarr[ii].cat_id) {
+ newarr[ii].s_arr.push(sto_arr[i]);
+ find = 1;
+ break;
+ }
+ }
+ if (find == 0) {
+ var arr0 = new Array();
+ arr0.push(sto_arr[i]);
+ var item = {
+ cat_id: find2,
+ name: find2name,
+ sort: sort,
+ s_arr: arr0
+ };
+ newarr.push(item);
+ }
+ } else {
+ qita.push(sto_arr[i]);
+ }
+ } else {
+ //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
+ if (find2 != 0) {
+ var arr0 = new Array();
+ arr0.push(sto_arr[i]);
+ var item = {
+ cat_id: find2,
+ name: find2name,
+ sort: sort,
+ s_arr: arr0
+ };
+ newarr.push(item);
+ } else {
+ qita.push(sto_arr[i]);
+ }
+ }
+ }
+
+ //门店分类要排序下
+ function compare(property) {
+ return function (a, b) {
+ var value1 = a[property];
+ var value2 = b[property];
+ return value1 - value2;
+ }
+ }
+
+ if (newarr.length > 0)
+ newarr.sort(compare("sort"));
+ //----安排其他的分类-----
+ if (qita.length > 0) {
+ var item = {
+ cat_id: -1,
+ name: "其他",
+ s_arr: qita
+ };
+ newarr.push(item);
+ }
+ th.setData({
+ is_show_sto_cat: 1,
+ all_sto: newarr
+ });
+
+ } else {
+ th.setData({
+ is_show_sto_cat: -1,
+ only_pk: e.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) {
+ if (e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {
+ th.setData({
+ def_pick_store: e.data.data.pageData[0],
+ sto_sele_name: e.data.data.pageData[0].pickup_name,
+ sto_sele_id: e.data.data.pageData[0].pickup_id,
+ sto_sele_distr: e.data.data.pageData[0].distr_type
+ })
+ }
+ }
+ }
+ },
+
+ //---选择分类门店---
+ choice_sort_store: function (e) {
+ var index = e.currentTarget.dataset.index;
+ var region_name = e.currentTarget.dataset.region;
+ var item = this.data.all_sto[index];
+ this.setData({
+ region_name: region_name,
+ sort_store: 0,
+ choice_sort_store: 1,
+ sec_sto: item,
+ sec_pick_index: 0
+ });
+ },
+
+ choose_for_store_fir: function (e) {
+ var index_c = e.currentTarget.dataset.ind;
+ var th = this;
+ th.setData({
+ fir_pick_index: index_c
+ })
+ },
+
+ //确定def_pick为选择的门店
+ sure_pick: function (e) {
+ var th = this;
+ var item = null;
+ var openindstore = th.data.open_ind_store;
+
+ if (th.data.choice_sort_store == 0) {
+ var index = th.data.fir_pick_index;
+ if (th.data.is_show_sto_cat == 1) {
+ item = th.data.def_pickpu_list[index];
+ } else {
+ item = th.data.only_pk[index]; //当没有门店分类的时候
+ }
+
+ } else {
+ var index = th.data.sec_pick_index;
+ item = th.data.sec_sto.s_arr[index];
+ }
+
+ if (!th.data.sele_g) return false;
+ //判断门店的配送方式是不是匹配
+ var g_distr_type = th.data.sele_g.distr_type;
+ if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) {
+ wx.showToast({
+ title: "门店配送方式不匹配",
+ icon: 'none',
+ duration: 2000
+ });
+ return false;
+ }
+
+ th.setData({
+ def_pick_store: item,
+ sto_sele_name: item.pickup_name,
+ sto_sele_id: item.pickup_id,
+ sto_sele_distr: item.distr_type,
+ store: 0,
+ choice_sort_store: 0,
+ fir_pick_index: 0,
+ sort_store: 0
+ });
+
+ //只是单纯的选择门店
+ if (this.data.only) {
+ this.data.only = 0;
+ return false;
+ }
+ th.check_is_in_cart(function () {
+ th.add_cart_func();
+ })
+ },
+
+
+ //---点击二级之后的选择---
+ choose_for_store: function (e) {
+ var index_c = e.currentTarget.dataset.ind;
+ var th = this;
+ th.setData({
+ sec_pick_index: index_c,
+ fir_pick_index: index_c
+ })
+
+ },
+ //把选择的门店设置成默认的门店def_pick
+ set_def_pick: function (e) {
+ var th = this;
+ var item = null;
+ if (th.data.choice_sort_store == 0) {
+ var index = th.data.fir_pick_index;
+ if (th.data.is_show_sto_cat == 1) {
+ item = th.data.def_pickpu_list[index];
+ } else {
+ item = th.data.only_pk[index]; //当没有门店分类的时候
+ }
+ } else {
+ var index = th.data.sec_pick_index;
+ item = th.data.sec_sto.s_arr[index];
+ }
+
+ //判断门店的配送方式是不是匹配
+ var g_distr_type = th.data.sele_g.distr_type;
+ if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) {
+ wx.showToast({
+ title: "门店配送方式不匹配",
+ icon: 'none',
+ duration: 2000
+ });
+ return false;
+ }
+
+ //先设置之前,要判断是不是有库存
+ var user_id = getApp().globalData.user_id;
+ var def_pickup_id = item.pickup_id;
+
+ getApp().request.put('/api/weshop/users/update', {
+ data: {
+ user_id: user_id,
+ def_pickup_id: def_pickup_id
+ },
+ success: function (res) {
+ if (res.data.code == 0) {
+ if (th.data.choice_sort_store == 0) th.setData({
+ fir_pick_index: 0
+ });
+ getApp().globalData.pk_store = item;
+ } else {
+ //s.showWarning("设置默认门店地址失败", null, 500, !1);
+ getApp().my_warnning("设置默认门店地址失败", 0, th)
+ }
+
+ }
+ });
+
+ th.setData({
+ def_pick_store: item,
+ sto_sele_name: item.pickup_name,
+ sto_sele_id: item.pickup_id,
+ sto_sele_distr: item.distr_type,
+ store: 0,
+ choice_sort_store: 0,
+ sort_store: 0, //关闭门店2级
+ });
+
+ th.add_cart_func();
+ },
+
+ // 返回按钮
+ returns: function () {
+ this.setData({
+ sort_store: 0,
+ choice_sort_store: 0
+ });
+ },
+ //选择更多门店
+ more_store: function () {
+ this.setData({
+ sort_store: 1
+ });
+ },
+ //关闭选择门店
+ close_popup: function (e) {
+ var th = this;
+ this.setData({
+ store: 0,
+ choice_sort_store: 0,
+ sort_store: 0,
+ fir_pick_index: 0,
+ sec_pick_index: 0
+ })
+ },
+
+ //-------------获取购买数量的总函数----------------
+ get_buy_num: function (gd, func) {
+ var map = this.data.g_buy_num,
+ th = this, user_id = getApp().globalData.user_id;
+
+ if (user_id == null) {
+ getApp().goto("/pages/togoin/togoin");
+ return false;
+ }
+ if (map && 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 (!map) map = new Map();
+ map.set(gd.goods_id, g_buy_num);
+ th.setData({
+ g_buy_num: map
+ });
+ "function" == typeof func && func();
+ }
+ }
+ });
+ }
+ },
+
+ //-- 当是减数量的调用 --
+ sub_updata_cart(){
+ var th = this;
+ var index = this.data.sele_index;
+ var txt = "list[" + index + "].haveAdded";
+ var txt1 = "list[" + index + "].num";
+ var txt2 = "list[" + index + "].showNum";
+
+ var cur_price = this.data.sele_g.shop_price;
+ if (th.data.card_field && this.data.sele_g[th.data.card_field]) {
+ cur_price = this.data.sele_g[th.data.card_field];
+ }
+ var updata = {
+ id: th.data.sele_g.cart_id,
+ goods_num: th.data.goodsInputNum,
+ goods_price: cur_price,
+ store_id: os.stoid,
+ };
+ //---是不是从收藏夹出来的---
+ if (th.data.c_guide_id) {
+ updata['guide_id'] = th.data.c_guide_id;
+ updata['guide_type'] = 3; //加入购物车之后就变成了3
+ } else {
+ if (getApp().globalData.guide_id) {
+ updata['guide_id'] = getApp().globalData.guide_id;
+ updata['guide_type'] = 0;
+ }
+ }
+ //调用接口,更新购物车
+ getApp().request.put("/api/weshop/cart/update", {
+ data: updata,
+ success: function (t) {
+ th.setData({
+ [txt1]: updata.goods_num,
+ [txt2]: true,
+ [txt]: true,
+ });
+
+ th.data.adding = 0;
+ th.data.sele_store = 1;
+ th.re_sum_price();//重新统计数量和总金额
+ }
+ });
+ },
+ //一 开始的选择门店 --
+ choose_store: function (e) {
+ var userInfo = getApp().globalData.userInfo;
+ if (!userInfo) {
+ getApp().goto("/pages/togoin/togoin");
+ return false;
+ }
+ this.data.only = 1;
+ this.setData({
+ store: 1
+ })
+ },
+
+ // -- 加入之前,先判断有没有在购物车中,没有商品就添加 --
+ check_is_in_cart: function (func) {
+ var th = this;
+ var index = th.data.sele_index;
+ var txt = "list[" + index + "].haveAdded";
+ var txt1 = "list[" + index + "].num";
+ var txt2 = "list[" + index + "].showNum";
+ var txt3 = "list[" + index + "].cart_id";
+ var txt4 = "list[" + index + "].current_price";
+
+
+
+ //----先看会员在购物车中是否加入了该商品-----
+ getApp().request.get("/api/weshop/cart/page", {
+ data: {
+ store_id: os.stoid,
+ user_id: oo.user_id,
+ goods_id: th.data.sele_g.goods_id,
+ pick_id: th.data.sto_sele_id,
+ },
+ success: function (re) {
+ if (re.data.data.total > 0) {
+ var item = re.data.data.pageData[0];
+
+ //当前的价格要更新进去
+ var cur_price = th.data.sele_g.shop_price;
+ if (th.data.card_field && th.data.sele_g[th.data.card_field]) {
+ cur_price = th.data.sele_g[th.data.card_field];
+ }
+
+ th.setData({
+ [txt1]: item.goods_num,
+ [txt2]: true,
+ [txt]: true,
+ [txt3]: item.id,
+ [txt4]: cur_price,
+ });
+
+ var updata = {
+ id: item.id,
+ prom_type: 7,
+ goods_price: cur_price,
+ prom_id: th.data.act.id
+ };
+ if (getApp().globalData.guide_id) {
+ updata['guide_id'] = getApp().globalData.guide_id;
+ updata['guide_type'] = 0;
+ }
+
+ getApp().request.put("/api/weshop/cart/update", {
+ data: updata,
+ success: function (t) {
+ }
+ });
+
+ th.re_sum_price();
+ } else {
+ func();
+ }
+ }
+ })
+ },
+
+ //-- 计算统计之后的金额 --
+ re_sum_price: function () {
+ var all_num = 0; //商品数量之和
+ var all_price = 0;
+ var need_to_buy = 0;
+ var data = this.data.list;
+ var all_zhqty = 0; //所有商品要求起购数之后
+
+ var no_in_arr = [];
+ for (var i in data) {
+ var item = data[i];
+ if (item.num) {
+ all_num += item.num;
+ all_price += item.num * item.current_price;
+ //当有起购数的控制的时候
+ if (item.zhqty) {
+ all_zhqty += item.zhqty;
+ if (item.num < item.zhqty) {
+ need_to_buy += item.zhqty - item.num;
+ }
+ if (item.num > item.zhqty) {
+ for (var i = 0; i < item.num - item.zhqty; i++) {
+ no_in_arr.push({price: item.current_price})
+ }
+ }
+ } else {
+ for (var j = 0; j < item.num; j++) {
+ no_in_arr.push({price: item.current_price})
+ }
+ }
+ } else {
+ if (item.zhqty) need_to_buy += item.zhqty;
+ }
+ }
+
+ //当满足组合的要求:总数要满足,起购数要满足
+ if (all_num >= this.data.act.zhbuyqty && !need_to_buy) {
+ function sortData(a, b) {
+ return a.price - b.price
+ }
+
+ no_in_arr.sort(sortData);
+ var aprice = this.data.act.zhprice;
+ if (this.data.act.zhbuyqty > all_zhqty) {
+ for (var n = 0; n < this.data.act.zhbuyqty; n++) {
+ no_in_arr.pop();
+ }
+ }
+
+ //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增
+ if (this.data.act.is_bz && no_in_arr.length > this.data.act.zhbuyqty) {
+ //看一下是几倍
+ var be = parseInt(no_in_arr / this.data.act.zhbuyqty);
+ aprice += be * aprice;
+ for (var m = 0; m < be * this.data.act.zhbuyqty; m++) {
+ no_in_arr.pop();
+ }
+ }
+
+ //算一下剩余的钱
+ if (no_in_arr.length) {
+ for (var ii in no_in_arr) {
+ var item = no_in_arr[ii];
+ aprice += item.price;
+ }
+ }
+ all_price = aprice;
+ }
+
+ this.setData({
+ all_price: all_price,
+ need_to_buy: need_to_buy,
+ all_num: all_num
+ })
+ },
+
+ go_cart:function () {
+ getApp().goto("/pages/cart/cart/cart");
+ }
+
})
\ No newline at end of file
diff --git a/packageB/pages/zuhegou/index/index.json b/packageB/pages/zuhegou/index/index.json
index 427d12f..1a3f45b 100644
--- a/packageB/pages/zuhegou/index/index.json
+++ b/packageB/pages/zuhegou/index/index.json
@@ -2,7 +2,8 @@
"usingComponents": {
"catch": "/components/catch/catch",
"nodata": "/components/nodata/nodata",
- "painter": "/packageB/components/painter/painter"
+ "painter": "/packageB/components/painter/painter",
+ "warn": "/components/long_warn/long_warn"
},
"enablePullDownRefresh": false,
"navigationBarTitleText": "组合购"
diff --git a/packageB/pages/zuhegou/index/index.wxml b/packageB/pages/zuhegou/index/index.wxml
index 085da13..8dcad6e 100644
--- a/packageB/pages/zuhegou/index/index.wxml
+++ b/packageB/pages/zuhegou/index/index.wxml
@@ -1,108 +1,313 @@
+
-
- 以下商品10元任选3件
- 规则详情
-
- 距结束还剩 1天12:12:00
-
-
-
-
-
-
-
-
- 商品名称商品名称
-
- -
- {{num}}
- +
-
-
-
-
-
- 0.01
- 200.00
-
-
-
-
-
-
-
-
-
-
-
- 没有更多了
-
-
-
-
-
- 再买2件,下单立享【10元任选3件】
-
- 合计:0.01
- 去购物车
-
-
-
-
-
- 分享
-
-
-
-
-
- {{!type ? '规则详情':'提示'}}
-
-
- 活动时间
- 2020.12.11 18:00:00 至 2020.12.11 18:00:00
-
-
- 活动内容
-
- 1、活动商品范围内,任选3件仅需10元;
- 2、此优惠可无限叠加,买得越多优惠越多;
-
-
-
- 优惠叠加
- 不可与其他优惠活动同时使用
-
-
-
-
-
-
-
- 合计金额及提示仅为初步预估,请以最终下单金额为准。
-
-
-
- 我知道了
-
-
-
-
-
-
-
-
-
-
- 长按图片保存至相册
-
-
-
+
+ 以下商品{{act.zhprice}}元任选{{act.zhbuyqty}}件
+ 规则详情
+
+
+
+ 距结束还剩
+ {{djs.day}}天
+ {{djs.hou}}
+ :
+ {{djs.min}}
+ :
+ {{djs.sec}}
+
+
+
+ 门店:
+ {{def_pick_store.pickup_name}}
+ 请选择门店
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.goods_name}}
+ 此商品还需购买{{item.zhqty-(item.num?item.num:0)}}件
+
+ -
+ {{item.num}}
+ +
+
+
+
+
+
+
+
+ {{filters.toFix(item[card_field],2)}}
+
+
+ {{filters.toFix(item.shop_price,2)}}
+
+ {{filters.toFix(item.market_price,2)}}
+
+
+
+
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ 再买{{need_to_buy}}件,下单立享【{{act.zhprice}}元任选{{act.zhbuyqty}}件】
+
+ 下单立享【{{act.zhprice}}元任选{{act.zhbuyqty}}件】
+
+
+
+ 再买{{act.zhbuyqty-all_num>need_to_buy?act.zhbuyqty-all_num:need_to_buy}}件,{{need_to_buy}}下单立享【{{act.zhprice}}元任选{{act.zhbuyqty}}件】
+
+
+ 买{{act.zhbuyqty}}件,下单立享【{{act.zhprice}}元任选{{act.zhbuyqty}}件】
+
+
+
+ 合计:
+ {{filters.toFix(all_price,2)}}
+
+
+ 去购物车
+
+
+
+
+
+ 分享
+
+
+
+
+
+ {{!type ? '规则详情':'提示'}}
+
+
+
+
+ 活动时间
+ {{filters.format_time(act.start_time,1)}} 至 {{filters.format_time(act.end_time,1)}}
+
+
+
+ 活动内容
+
+ {{act.remark}}
+
+
+
+
+
+
+
+ 合计金额及提示仅为初步预估,请以最终下单金额为准。
+
+
+
+
+ 我知道了
+
+
-
+
+
+
+
+
+
+
+
+
+
+ 长按图片保存至相册
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageB/pages/zuhegou/index/index.wxss b/packageB/pages/zuhegou/index/index.wxss
index fcd7d91..0f67567 100644
--- a/packageB/pages/zuhegou/index/index.wxss
+++ b/packageB/pages/zuhegou/index/index.wxss
@@ -3,7 +3,7 @@ page {
background: #f5f5f5 linear-gradient(to bottom, #FB5A2F, #FA7958, #f5f5f5 26%) no-repeat;
}
.container {
- padding: 20rpx 20rpx 240rpx 20rpx;
+ padding: 20rpx;
}
.countdown-container {
font-size: 26rpx;
@@ -42,6 +42,7 @@ page {
.list {
border-radius: 10rpx;
background-color: white;
+ max-height:calc(100vh - 360rpx);
}
.list-item {
@@ -196,4 +197,161 @@ page {
.white2 {
color: rgba(255,255,255,.8);
-}
\ No newline at end of file
+}
+
+
+
+/* 选择门店的弹窗 */
+.mongolia-layer{
+ position: fixed;
+ left: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 11;
+ background: rgba(0,0,0,0.4);
+ width: 100%;
+ height: 91.9%;
+
+}
+
+.popup-frame{
+ position: fixed;
+ z-index: 20;
+ background: white;
+ width: 100%;
+ border-radius: 20rpx 20rpx 0 0;
+ height: auto;
+ bottom: 0;
+}
+.popup-top{
+ border-bottom: 1rpx solid #eee;
+ height: 155rpx;
+ width: 95%;
+ margin: auto;
+ line-height: 155rpx;
+
+}
+.bg_rights{
+ border-top: 2rpx solid ;
+ border-right: 2rpx solid ;
+ transform: rotate(45deg);
+ display:inline-block;
+ width:15rpx;height:15rpx;
+ border-color:#da0b31;
+ position: relative;
+ top:5rpx
+}
+.modal-closes {
+ position: absolute;
+ right: 30rpx;
+ top: -15rpx;
+ height: 25rpx;
+
+}
+.choose_more{
+ margin-top: 100rpx;
+ margin-right: 20rpx;
+
+}
+.choose_mores{
+ margin-top: 30rpx;
+ margin-right: 15rpx;
+
+}
+.store-list{
+ width: 95%;
+ min-height: 300rpx;
+ overflow-y: scroll;
+ margin: auto;
+ max-height: 610rpx;
+}
+.store-list .store_choose{
+ width: 100%;
+ height: 120rpx;
+ line-height: 125rpx;
+ border-bottom: 1rpx solid #eee;
+
+}
+.store-list .store_choose .store{
+ width: 100%;
+ margin: auto;
+ line-height: 37rpx;
+ padding-left: 20rpx;
+
+}
+.xc-hook{
+ width: 35rpx;
+ height: 35rpx;
+ transform: rotate(-145deg);
+ line-height: 37rpx;
+ text-align: center;
+}
+.xc-hooks{
+ width: 30rpx;
+ height: 30rpx;
+ border: 1rpx solid #999;
+}
+.address-frame{
+ width: 93%;
+ margin-left: 7rpx;
+
+}
+.nearby_store{
+ margin-left: 17rpx;
+}
+.address_name{
+ margin-right: 10rpx;
+
+}
+.address-val{
+ height: 38rpx;
+ line-height: 38rpx;
+
+}
+.store-bottom{
+ width: 85%;
+ margin: auto;
+ height: 90rpx;
+}
+.determine{
+ width: 260rpx;
+ height: 55rpx;
+ border-radius: 50rpx;
+ line-height: 55rpx;
+}
+.default{
+ width: 260rpx;
+ height: 55rpx;
+ border:3rpx solid #c8c8c8;
+ border-radius: 50rpx;
+ line-height: 55rpx;
+}
+.store-bottom-frame{
+ width: 95%;
+ margin: auto;
+
+}
+/* 门店分类列表 */
+.sort_store_list{
+ height: 82%;
+ overflow: hidden;
+ overflow-y: scroll;
+ width: 95%;
+ margin: auto;
+}
+.sort_store_list .sort-store-frame{
+ width: 100%;
+ height: 100rpx;
+ line-height:100rpx;
+ border-bottom: 1rpx solid #eee;
+
+}
+.sort_store_list .sort-store-frame .sort-store{
+ width: 94.5%;
+ margin: auto;
+}
+
+.c_w{ color: #fff;}
+.mt10{ margin-top: 10rpx;}
+.mt20{ margin-top: 20rpx;}
\ No newline at end of file