var t = require("../../../utils/util.js"),
ut = t,
e = require("../../../utils/common.js"),
a = require("../../../utils/wxParse/wxParse.js"),
s = getApp(),
i = s.request,
rq = i,
oo = s.globalData,
o = s.globalData.setting,
os = o;
let self = null;
//评价加载更多
var more = function (e) {
return e && e.__esModule ? e : {
default: e
};
}(require("../../../utils/LoadMore.js")),
n = new more.default();
var utils = require('../../../utils/util.js');
var regeneratorRuntime = require('../../../utils/runtime.js');
const {
app
} = require("../../../utils/common.js");
Page({
data: {
start_stop: 2, //秒杀开始 结束 的控制(1正在进行,2即将开始)
color_type: 0, //线条控制
color_type_one: 0,
color_type_two: 1,
is_no_plus: 1,
is_share_text:1,
gid: "",
stoid: o.stoid,
url: o.url,
resourceUrl: o.h5_url, //公众号那边的图片文件域名
iurl: o.imghost,
defaultAvatar: o.resourceUrl + "/static/images/user68.jpg",
userbuynum:0,//用户组合购购买的次数
data: null,
content: "", //商品详情
comments: null, //商品评论
c_curr_p: 1, //评论分页
com_num: 0, //评论人数
gallery: null, //图片滚动
is_collect: 0,
collect_id: 0,
cartGoodsNum: 0,
specSelect: 0,
optionItemId: 0,
goodsInputNum: 1,
openSpecModal: !1,
openSpecModal_pt: !1, //拼单的弹起,
openPromModal: !1,
activeCategoryId: 0,
supportPageScroll: !1,
prom_type4:0, //积分购是否开始
address: {
address: "",
district: 0
},
shipping: "",
shippingCost: 0,
enterAddressPage: !1,
categories: [{
name: "商品",
id: 0
}, {
name: "详情",
id: 1
}, {
name: "评价",
id: 2
}],
activeCategoryId2: 0,
categories2: [{
name: "商品详情",
id: 0
}, {
name: "规格参数",
id: 1
}],
activeCategoryId3: 1,
categories3: [{
name: "全部",
id: 1,
num: 0
},
{
name: "有图",
id: 5,
num: 0
},
{
name: "好评",
id: 2,
num: 0
}, {
name: "中评",
id: 3,
num: 0
}, {
name: "差评",
id: 4,
num: 0
},
],
select: {
price: 0,
stock: 0,
specName: "",
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_distr: "", //选择的门店的配送方式
is_show_sto_cat: 1, //是否显示门店分类
only_pk: null,
all_sto: null,
sec_sto: null, //选择了的门店分类
pickpu_list: null, //读出的所有门店list
def_pickpu_list: null, //一开始5个门店list
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立即购买
openSpecModal_ind: 0,
//---计时器开关----
is_timer: 1,
isshow: 0,
bconfig: null, //基础配置
fir_comments: null, //详情页上的评价
fir_quan: null, //详情页上的券
quan_list: null, //券列表
coupon: 0,
//会员分享的头像
share_head: "",
share_goods_img: "",
//----------视频图片data参数---------
current: 0, //图片计数
swiperCurrent: 0, //轮播的下标
hiddenn: 0, //控制轮播计数显示
currentTab: 0, // 选择器控制参数
mapurl: "",
mapurl_f_img: "",
videopicture: 0, //视频图片的控制
video: 0, //视频图片切换器
index: 0,
noon: 0, //开始视频的隐藏
screenWidth: 0,
canvasHidden: 1,
//--推荐--
store_config: null,
is_show_pl: 0, //是否品类
is_show_pp: 0, //是否品牌
is_show_gb: 0, //是否国别
is_closecoupon: 0,
//是否点赞中
iszaning: 0,
select_store: 0, //选择更多
index: 1,
more_store: 0, //选择门店
sort_store: 0, //门店分类
choice_sort_store: 0, //选择分类门店
new_user: 0, //新用户
def_pick_store: null, // 默认的门店
fir_def_store: null, //客户默认的门店的
lat: null, //维度
lon: null, //经度
is_get_local_ok: 0, //获取坐标是否完成
region_name: "门店分类", //区域的名字
is_gps: 1,
open_ind_store: 0, //哪里打开的门店列表的控制属性
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: '', //自定义分享的背景
showPoster: false,
hui_condition: null,
sto_sele_name_1: '', //分享的门店名称
fir_goods: null,
share_hidden: false,
all_activity_list: null, //所有活动的列表
hiddenCS: true,
is_retail_price: 0,
is_no_new:1,
base_nor:0,
base_nor_prom_type:0,
base_nor_prom_id:0,
base_nor_goods_id:0,
user_pre_buynum:0, //用户优惠促销参与次数
},
//------初始化加载----------
onLoad: function (t) {
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
prom_type = t.prom_type || 0,
prom_id = t.prom_id || 0; //活动ID
var share_openid = t.share_openid;
console.log("gd onload-- 3 --");
console.log(t);
//群id
if(t && t.groupchat_id && !t.groupchat_id!='undefined' && !t.groupchat_id!='null'){
getApp().globalData.groupchat_id=t.groupchat_id
}
self = this;
//检查测肤
getApp().check_skin_face(t, 0, gid);
//-- 自定义海报 --
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]) {
var poster_data = res.data.data.pageData[0];
var json_str = poster_data.jsonStr;
if (json_str) {
var json_data = JSON.parse(json_str);
console.log('自定义海报参数-------');
console.log(json_data);
if (json_data.bg_img) {
//-- 把图片那到本地 --
wx.getImageInfo({
src: json_data.bg_img,
success: function (res) {
var path = res.path;
th.setData({
share_b_img: path
})
},
fail: function (res) {}
});
}
th.setData({
poster: json_data
})
}
}
})
//---获取手机地址坐标--
//--如果tg_id是空的话,分享回来--
if (gid == undefined || gid == null || gid == "") {
var gid_str = decodeURIComponent(t.scene);
gid_str = gid_str.split("_");
gid = gid_str[0];
if (gid.indexOf('.') != -1) {
var fir_arr = gid.split(".");
gid = fir_arr[0];
prom_type = fir_arr[1];
prom_id = fir_arr[2];
this.data.prom_type = prom_type;
this.data.prom_id = prom_id;
}
if (gid_str.length > 1) {
first_leader = gid_str[1];
}
//-- 如果有room_id的获取 --
if (gid_str.length > 2 && gid_str[2]) {
room_id = gid_str[2];
room_user_share = 1;
}
}
//判断活动
if (prom_type) {
this.data.prom_type = prom_type;
this.data.prom_id = prom_id;
//-- 基础的活动类型 --
this.data.base_nor_prom_type=prom_type;
this.data.base_nor_prom_id=prom_id;
}
this.data.base_nor_goods_id=gid;
ee.setData({
gid: gid
});
console.log("gd onload-- 2 --");
console.log(first_leader);
if (first_leader) {
console.log("gd onload--3");
console.log("log---" + first_leader);
getApp().globalData.first_leader = first_leader;
//调用接口判断是不是会员
getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
if (res.data.code == 0) {
getApp().globalData.guide_id = res.data.data.id;
getApp().globalData.guide_pick_id= res.data.data.pickup_id;
}
})
if (!getApp().globalData.user_id) {
ut.new_user_go(os.stoid, first_leader);
}
}
//-- 如果有房间号 --
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;
if (share_openid) {
this.get_room_share_guide(share_openid);
}
}
var c_guide_id = t.c_guide_id;
if (c_guide_id) {
th.data.c_guide_id = c_guide_id;
}
//调用接口判断商家plus有没有过期
getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" + os.stoid + "&type=3", {}).then(res => {
if (res.data.code == 0) {
var arr = res.data.data.pageData;
if (arr.length > 0) {
var item = arr[0];
if (item.is_sy == 0) {
var now = Date.parse(new Date());
now = now / 1000;
if (item.end_time < now) {
th.setData({
is_no_plus: 0
})
}
}
}
}
})
getApp().getConfig(function (e) {
ee.setData({
sto_sele_name_1: e.store_name
})
})
//----获取系统参数-----
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
});
}
console.log('获取系统参数');
console.log(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_retail_price: json_d.is_retail_price || 0,
appoint_pick_keyid: json_d.appoint_pick_keyid
});
//------几人评价-------
//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);
//---如果后台又开等级卡的开关---
ut.get_plus_name_price(sw_arr, th);
}, 1);
//获取用户设备信息,屏幕宽度
wx.getSystemInfo({
success: res => {
that.setData({
screenWidth: res.screenWidth
})
}
});
//更新点击量
//noinspection JSUnresolvedFunction
getApp().request.put("/api/weshop/goods/updateClick", {
data: {
store_id: os.stoid,
goods_id: gid,
user_id: getApp().globalData.user_id ? getApp().globalData.user_id : 0
}
});
},
async get_room_share_guide(share_openid) {
var url = "/api/weshop/users/page";
var first_leader = 0;
//调用接口判断是不是会员
await getApp().request.promiseGet(url, {
data: {
stoid: os.stoid,
weapp_openid: share_openid
}
}).then(res => {
if (ut.ajax_ok(res)) {
first_leader = res.data.data.pageData[0].user_id;
getApp().globalData.guide_id = res.data.data.id;
}
})
if (!first_leader) return false;
getApp().globalData.first_leader = first_leader;
//调用接口判断是不是会员
await getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
if (res.data.code == 0) {
getApp().globalData.guide_id = res.data.data.id;
getApp().globalData.guide_pick_id= res.data.data.pickup_id
}
})
},
//--- 设置一下默认库存的数量 ----
set_def_storage(ee) {
var that = this,
th = this;
getApp().getConfig2(function (e) {
var sales_rules = e.sales_rules;
if (sales_rules >= 2 && [1, 2, 4, 6, 8, 9].indexOf(th.data.prom_type) == -1 && !th.data.sele_g.whsle_id) {
getApp().waitfor2(that, "wait_for_user_store", "fir_goods", function () {
var lock = 0,
plist = null;
var gd = that.data.fir_goods;
//先读取门店的lock,采用链式写法,少用await
// getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
// data: {
// store_id: os.stoid,
// wareId: that.data.fir_goods.goods_id,
// storageId: ee.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: ee.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];
// } else {
// wx.showToast({
// title: '库存不足,请更换其他门店',
// icon: 'none',
// });
// }
//
// if (plist && plist.CanOutQty - lock > 0) {
// ee.CanOutQty = plist.CanOutQty - lock;
// } else {
// ee.CanOutQty = 0;
// }
// //--给门店赋值线下库存--
// 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
// })
// })
//最新的获取线下门店库存
th.check_CanOutQty(gd, ee, function (CanOutQty) {
ee.CanOutQty = CanOutQty;
//--给门店赋值线下库存--
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
})
})
})
} else {
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
})
}
})
},
//------------程序初始化入口-------------
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 && 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 && (!th.data.fir_quan || th.data.fir_quan.length <= 0)) {
//----获取详情页的券的数量----
await getApp().request.promiseGet("/api/weshop/prom/coupon/pageCouponList", {
data: {
store_id: os.stoid,
type: 1,
pageSize: 100,
page: 1,
is_share: 0,
},
}).then(res1 => {
fir_quan = res1.data.data.pageData;
})
}
let arr = []
//过滤不是本商品的单品优惠券-------------------
if (fir_quan && fir_quan.length > 0) {
let goodInfo = ee.data.data
for (let index = fir_quan.length - 1; index >= 0; index--) {
if (fir_quan[index].useobjecttype == 20) { //判断是单品优惠券
if (fir_quan[index].useobjectno != goodInfo.goods_sn) {
fir_quan.splice(index, 1)
}
}
}
let length = fir_quan.length
if (length <= 3) {
arr = fir_quan
} else {
arr = fir_quan.splice(0, 3);
}
}
//--------获取视频图片---------
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;
}
})
this.getHistoryBuy(); //获取历史购买
ee.setData({
gallery: gallery,
is_collect: is_collect,
collect_id: collect_id,
categories3: categories3,
fir_quan: arr,
fir_comments: fir_com,
mapurl_f_img: mapurl_f_img,
mapurl: mapurl,
});
},
check_guide(func){
var first_leader=getApp().globalData.first_leader;
if(!first_leader){
func();
return false;
}
if(this.data.is_geted_guide_pick){
func();
return false;
}
if(getApp().globalData.guide_pick_id){
func();
return false;
}
var th=this;
getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
if (res.data.code == 0) {
getApp().globalData.guide_pick_id= res.data.data.pickup_id;
}
th.data.is_geted_guide_pick=1;
func();
})
},
get_user_store(){
var th=this; var that=this;
//--获取用户的默认门店
getApp().get_user_store(function (e) {
if (!e) {
th.data.fir_def_store = {}; //赋值空对象
return false;
}
if (getApp().globalData.is_dj_pk) th.setData({
has_def: 1
});
var ee = JSON.parse(JSON.stringify(e));
//--定时器推迟一下--
setTimeout(function () {
if (th.data.fir_goods) var g_distr_type = th.data.fir_goods.distr_type;
//--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对--
if (ee.distr_type != 0 && g_distr_type != 0 && ee.distr_type != g_distr_type) {
ee.is_no_dis = 1;
}
var appd = getApp().globalData;
var w_time = setInterval(function () {
if (that.data.is_get_local_ok == 0) return false;
clearInterval(w_time);
var distance = null;
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,
isstop: 0,
is_pos: 1
},
}).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);
}
}
})
}
//e.distance = distance;
appd.lat = that.data.lat;
appd.lon = that.data.lon;
} else {
if (e) {
e.distance = null;
that.set_def_storage(e);
}
}
}, 500)
}, 700)
});
},
//---展示---
onShow: function () {
getApp().check_can_share();
var goods_list = null,
th = this,
that = this;
var show_prew_img = this.data.show_prew_img
if (show_prew_img) {
show_prew_img = 0;
return false;
}
if (this.data.show_video) {
this.data.show_video = 0;
return false;
}
//先获取一下导购的门店
th.check_guide(()=>{
th.get_user_store();
})
//优惠券要实时更新
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)
this.data.is_timer = 1;
var ee = this,
gid = this.data.gid,
i = getApp().request;
this.wait_for_store_config();
//先检验一下商品的活动情况
this.check_gd_prom_new(function () {
//-- 8是预售 --
if (ee.data.prom_type == 8) {
getApp().goto("/packageC/pages/presell/goodsInfo/goodsInfo?goods_id=" + ee.data.gid + "&prom_id=" + ee.data.prom_id);
return false;
}
//-- 9是幸运购 --
if (ee.data.prom_type == 9) {
var lk_url="/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id="+ee.data.gid+"&group_id="+ee.data.prom_id+"&prom_type=9";
getApp().goto(lk_url);
return false;
}
i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, {
failRollback: !0,
success: function (t) {
console.log(t);
// t.data.data.prom_type=0
if (t.data.code == 0) {
if(t.data.data && t.data.data.prom_type==4){
if(ee.data.prom_type4==1){
t.data.data.prom_type=0
}
}
if (t.data.data.is_on_sale != 1) {
wx.showModal({
title: '商品已经下架',
showCancel: !1,
complete: function () {
wx.navigateBack();
}
});
}
ee.init(gid);
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 () {
let pages = getCurrentPages();
if (pages[pages.length - 2]) {
wx.navigateBack();
} else {
getApp().goto('/pages/index/index/index')
}
}
});
}
}
//动态获取商品名称
wx.setNavigationBarTitle({
title: t.data.data.goods_name,
});
var p_type=parseInt(ee.data.prom_type?ee.data.prom_type:0);
//-- 判断是不是组合购活动,必须要登录后才能判断 --
if (getApp().globalData.userInfo && t.data.data.prom_type == 7 && [1,2,4,6,8,9].indexOf(p_type)==-1) {
//获取活动信息
var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" +
t.data.data.prom_id + "/" + getApp().globalData.user_id;
getApp().request.get(url, {
success: function (e) {
if (e.data.code == 0 && e.data.data) {
if (ut.gettimestamp() < e.data.data.start_time) {
return false;
}
if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) {
//-- 获取商品列表 --
th.setData({
zh_act: e.data.data
});
th.getUserBuyPromNum(e.data.data.id)
}
}
}
});
}
//-- 把商品的赋值,同时给活动赋值 --
ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data));
// if (t.data.data.prom_type && t.data.data.prom_id && !ee.data.prom_type) {
// ee.data.prom_type = t.data.data.prom_type;
// ee.data.prom_id = t.data.data.prom_id;
// }
//一件代发商品不去计算优惠
//if (!ee.data.fir_goods.whsle_id && ee.data.prom_type != 1 && ee.data.prom_type != 4 && ee.data.prom_type != 6 && ee.data.prom_type != 2) {
if (!ee.data.fir_goods.whsle_id && ee.data.prom_type != 1 && ee.data.prom_type != 4 && ee.data.prom_type != 6 && ee.data.prom_type != 2) {
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 cur_price = t.data.data.shop_price;
if (getApp().globalData.userInfo && getApp().globalData.userInfo.card_field) {
var cfile = getApp().globalData.userInfo.card_field;
if (t.data.data[cfile]) {
cur_price = t.data.data[cfile];
}
}
var txt = (cur_price / t.data.data.market_price * 10).toFixed(2).toString();
txt = parseFloat(txt);
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", ut.format_content(t.data.data.goods_content), ee, 6);
e.wxParseAddFullImageUrl(ee, "content");
//if (ee.data.prom_type) {
t.data.data.prom_type = ee.data.prom_type;
t.data.data.prom_id = ee.data.prom_id;
//}
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 == 3 || ee.data.data.prom_type == 5 || ee.data.data.prom_type == 7 || ee.data.data.prom_type == 9 || ee.data.data.prom_type == 10) {
//默认门店要拿下门店库存
if (that.data.sales_rules == 2 && that.data.is_newsales_rules) {
//获取门店
ee.get_sto();
} else {
//获取门店
ee.get_sto();
}
ee.get_sku(o.stoid, t.data.data, gid);
ee.check_has_flash();
} 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({
title: t.data.msg,
showCancel: !1,
complete: function () {
wx.navigateBack();
}
});
}
console.log('bbbbbbbbbbbbbb');
console.log(th.data.prom_type);
setTimeout(()=> {
console.log('cccc');
console.log(th.data.prom_type);
},500)
}
});
})
console.log('aaaaaaaaaa');
console.log(this.data.prom_type);
this.data.enterAddressPage && (this.data.enterAddressPage = !1);
},
onReady() {
setTimeout(() => {
wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => {
if (res.length != 0) {
this.setData({
showFold: res[0].height < res[1].height,
});
};
}).exec();
}, 1000);
},
enterAddress: function () {
this.data.enterAddressPage = !0, wx.navigateTo({
url: "/pages/user/address_list/address_list?operate=selectAddress"
});
},
onUnload: function () {
for (var i = 1; i < 100; i++) {
clearInterval(i);
}
},
onHide: function () {
this.data.is_timer = 0;
// for (var i = 1; i < 100; i++) {
// clearInterval(i);
// }
},
//----------三个选项按钮-----------
tabClick: function (t) {
var e = t.currentTarget.id;
this.setData({
activeCategoryId: e
}), 1 == e ? this.tabGoodsContent() : 2 == e && this.tabComment();
},
tabClick2: function (t) {
this.setData({
activeCategoryId2: t.currentTarget.id
});
},
tabClick3: function (t) {
var e = this;
if (t.currentTarget.id != this.data.activeCategoryId3) {
e.data.c_curr_p = 1;
this.setData({
activeCategoryId3: t.currentTarget.id,
comments: null,
comments_no_more: 0,
get_c: 0,
});
this.requestComments_new();
}
},
doScrollTop: function () {
wx.pageScrollTo({
scrollTop: 0
});
},
tabComment: function () {
this.setData({
activeCategoryId: 2,
comments_no_more: 0,
get_c: 0
}), this.data.comments || this.requestComments_new();
},
//商品详情的时候调用
tabGoodsContent: function () {
var th = this,
i = getApp().request;
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;
if (!ind) ind = t.currentTarget.dataset.openspecmodal_ind;
th.setData({
open_ind_store: ind
});
if ("add" == t.currentTarget.dataset.action && getApp().is_sp_hao()) {
wx.showToast({
title: "视频号商品不允许加入购物车",
icon: 'none',
duration: 2000
});
return false;
}
//如果是秒杀的话,要看redis够不够
if (this.data.prom_type == 1 || this.data.prom_type == 2) {
if (this.data.openSpecModal_flash_normal) {
this.data.is_normal = 1; //是普通购买
th.add_cart_func(t);
return false;
}
this.getactLen(function (num) {
if (num < th.data.goodsInputNum) {
// getApp().my_warnning("活动库存不足!", 0, th);
wx.showToast({
title: '活动库存不足!',
icon: 'none',
});
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.showToast({
title: '超出商品限购',
icon: 'none',
});
// s.my_warnning('超出商品限购', 0, th);
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.showToast({
title: '超出商品活动限购',
icon: 'none',
});
// s.my_warnning('超出商品活动限购', 0, th);
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)
th.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(getApp().globalData.groupchat_id){
newd['groupchat_id'] = getApp().globalData.groupchat_id;
}
//让商品带上房间号
//让商品带上房间号
if (!th.data.sys_switch.is_skuroom_id && 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) {
wx.showToast({
title: '库存已为空!',
icon: 'none',
});
return false;
};
if (o.store_count < e.data.goodsInputNum) {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
// return s.my_warnning("库存不足!", 0, th);
};
var i_canbuy = th.data.prom_act.limitqty - th.data.prom_act.buy_num;
if (i_canbuy < e.data.goodsInputNum) {
wx.showToast({
title: '活动库存不足!',
icon: 'none',
});
return false;
// return s.my_warnning("活动库存不足!", 0, th);
}
th.add_cart_next(e, t, a, o, newd); //立即购买下一步
})
},
async getUserBuyPromNum(prom_id){
var userInfo = getApp().globalData.userInfo;
var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=7&prom_id=${prom_id}`;
let res = await getApp().request.promiseGet(url, {
data:{}
});
let userbuynum=0
if(res.data.code==0 && res.data.data){
userbuynum=res.data.data.userbuynum
}
this.setData({
userbuynum
})
// return userbuynum
},
//优惠促销用户参与次数
async getUserBuyPromNum_pre(prom_id){
var userInfo = getApp().globalData.userInfo;
var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`;
let res = await getApp().request.promiseGet(url, {
data:{}
});
let user_pre_buynum=0
if(res.data.code==0 && res.data.data){
user_pre_buynum=res.data.data.userbuynum
}
this.setData({
user_pre_buynum
})
},
//-- 加入购物的函数 --
add_cart_func: 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.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.showToast({
title: '超出商品限购',
icon: 'none',
});
// s.my_warnning('超出商品限购', 0, th);
return false;
}
}
//---判断商品是否超出活动限购---
if ((th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) && !th.data.is_normal) {
if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) {
wx.showToast({
title: '超出商品活动限购',
icon: 'none',
});
// s.my_warnning('超出商品活动限购', 0, th);
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)
th.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,
prom_id: th.data.sele_g.prom_id,
prom_type: th.data.sele_g.prom_type,
};
//-- 代发商品不参加优惠 --
if (th.data.sele_g.whsle_id && newd.prom_type == 3) {
newd.prom_type = 0;
newd.prom_id = 0;
}
//---是不是从收藏夹出来的---
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(getApp().globalData.groupchat_id){
newd['groupchat_id'] = getApp().globalData.groupchat_id;
}
//让商品带上房间号
//让商品带上房间号
if (!th.data.sys_switch.is_skuroom_id && 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 (th.data.openSpecModal_inte_normal== 1 && th.data.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 || th.data.prom_type == 2) {
if (th.data.openSpecModal_flash_normal) {
newd.prom_type = 0;
newd.prom_id = 0;
newd.is_pd_normal = 1;
//---如果是线下门店销售的时候---
if (th.data.sales_rules >= 2) {
var pick = th.get_pick_from_list(th.data.sto_sele_id)
//---通过接口获取门店的线下库存信息--
th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) {
if (CanOutQty) {
if (CanOutQty < e.data.goodsInputNum) {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
}
th.add_cart_next(e, t, a, o, newd, CanOutQty);
} else {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
}
})
} else {
if (o.store_count <= 0) {
wx.showToast({
title: '库存已为空!',
icon: 'none'
});
return false;
};
if (o.store_count < e.data.goodsInputNum) {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
// return s.my_warnning("库存不足!", 0, th);
};
th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
};
return false;
}
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 ) {
wx.showToast({
title: '库存已为空!',
icon: 'none',
});
return false;
//return s.my_warnning("库存已为空!", 0, th);
};
if (o.store_count < e.data.goodsInputNum ) {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
};
th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
} else if (o.prom_type == 7) {
//判断进行中的活动,是不是要判断线下库存
th.check_zh_acting(function (ee) {
newd.prom_id = 0;
newd.prom_type = 0;
if (ee && th.data.sele_g.act) {
newd.prom_id = th.data.sele_g.act.id;
newd.prom_type = 7;
if (o.store_count <= 0) {
wx.showToast({
title: '库存已为空!',
icon: 'none',
});
return false;
};
if (o.store_count < e.data.goodsInputNum) {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
//return s.my_warnning("库存不足!", 0, th);
};
th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
return false;
} else {
//---如果是线下门店销售的时候---
if (th.data.sales_rules >= 2) {
var pick = th.get_pick_from_list(th.data.sto_sele_id)
th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) {
if (CanOutQty) {
if (CanOutQty < e.data.goodsInputNum) {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
}
th.add_cart_next(e, t, a, o, newd, CanOutQty);
} else {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
}
})
} else {
if (o.store_count <= 0) {
wx.showToast({
title: '库存已为空!',
icon: 'none',
});
return false;
//return s.my_warnning("库存已为空!", 0, th);
};
if (o.store_count < e.data.goodsInputNum) {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
//return s.my_warnning("库存不足!", 0, th);
};
th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
}
}
})
}
//要包含积分购的普通购买
else if (th.data.prom_type == 0 || th.data.prom_type == 3 || newd.is_integral_normal || th.data.prom_type == 5 || th.data.prom_type == 10) {
newd.prom_type = 0;
newd.prom_id = 0;
if (th.data.prom_type == 10) {
newd.prom_type = th.data.prom_type;
newd.prom_id = th.data.prom_id;
}
//---如果是线下门店销售的时候---
if (th.data.sales_rules >= 2 && !th.data.sele_g.whsle_id) {
var pick = th.get_pick_from_list(th.data.sto_sele_id)
//---通过接口获取门店的线下库存信息--
// getApp().request.get("/api/weshop/goods/getWareStorages", {
// data: {
// storageNos: pick.pickup_no,
// wareIds: encodeURIComponent(th.data.sele_g.erpwareid),
// storeId: os.stoid
// },
// success: function (res) {
// if (res.data.code == 0) {
// if (res.data.data.pageData.length > 0) {
// var CanOutQty = res.data.data.pageData[0].CanOutQty;
// if (CanOutQty < e.data.goodsInputNum) {
// wx.showToast({
// title: '库存不足!',
// icon: 'none',
// });
// return false;
// //return s.my_warnning("库存不足!", 0, th);
// }
// //在调一次接口,读取商品的预出库的数量,lock
// getApp().request.get("/api/weshop/order/ware/lock/page", {
// data: {
// store_id: os.stoid,
// wareId: th.data.sele_g.goods_id,
// storageId: pick.pickup_id,
// pageSize: 1000
// },
// success: function (res_data) {
// if (res_data.data.code == 0 && res_data.data.data.total > 0) {
//
// var lock = 0;
// for (var i in res_data.data.data.pageData) {
// lock += res_data.data.data.pageData[i].outQty;
// }
//
// if (CanOutQty <= lock) {
// wx.showToast({
// title: '库存不足!',
// icon: 'none',
// });
// return false;
// //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 {
// wx.showToast({
// title: '库存不足!',
// icon: 'none',
// });
// return false;
// //return s.my_warnning("库存不足!", 0, th);
// }
//
// }
// }
// })
th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) {
if (CanOutQty) {
if (CanOutQty < e.data.goodsInputNum) {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
}
th.add_cart_next(e, t, a, o, newd, CanOutQty);
} else {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
}
})
} else {
if (o.store_count <= 0) {
wx.showToast({
title: '库存已为空!',
icon: 'none',
});
return false;
//return s.my_warnning("库存已为空!", 0, th);
};
if (o.store_count < e.data.goodsInputNum) {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
//return s.my_warnning("库存不足!", 0, th);
};
th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
}
}
})
},
//---加入购物车的最后一步---
add_cart_next(e, t, a, o, newd, CanOutQty) {
if (getApp().globalData.groupchat_id) {
newd.groupchat_id=getApp().globalData.groupchat_id
}
var th = this, i = getApp().request;
//---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------
if ((o.prom_type != 6 && o.prom_type != 4 && o.prom_type != 2 && o.prom_type != 1) || th.data.is_normal) {
var conf = th.data.bconfig;
if (conf.switch_list && getApp().globalData.userInfo['card_field'] && getApp().globalData.userInfo['card_expiredate']) {
var s_list = JSON.parse(conf.switch_list);
var now = ut.gettimestamp();
var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/');
var end = new Date(str);
end = Date.parse(end) / 1000;
//--如果后台有开启等级价的功能,而且会员的等级没有过期的情况下--
if (parseInt(s_list.rank_switch) == 2 && end > 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( [3,5,10].indexOf(newd.prom_type)>-1){
newd.prom_type=0;
newd.prom_id=0;
}
//如果有搭配购的时候的时候
if(th.data.collocationGoods && newd.prom_type==0){
newd.prom_type = 5;
newd.prom_id = th.data.collocationGoods.id;
}
//如果有搭配购的时候的时候
if(th.data.zh_act && (!th.data.zh_act.zh_num || th.data.zh_act.zh_buy_num
0) {
for (var j=0; j CanOutQty) {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
// return s.my_warnning("库存不足!", 0, th);
}
} else {
if (item.goods_num + th.data.goodsInputNum > o.store_count) {
wx.showToast({
title: '库存不足!',
icon: 'none',
});
return false;
//return s.my_warnning("库存不足!", 0, th);
}
if (item.goods_num + th.data.goodsInputNum+th.data.prom_buy_num > th.data.prom_buy_limit && (th.data.prom_type==1 || th.data.prom_type==2)) {
wx.showToast({
title: '此商品已在购物车,去购物车结算!',
icon: 'none',
});
return false;
//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,
prom_id: newd.prom_id //把活动id带上去(用于购物车失效变成有效商品)
};
//---是不是从收藏夹出来的---
if (th.data.c_guide_id) {
updata['guide_id'] = th.data.c_guide_id;
updata['guide_type'] = 3; //加入购物车之后就变成了3
} else {
if (getApp().globalData.guide_id) {
updata['guide_id'] = getApp().globalData.guide_id;
updata['guide_type'] = 0;
}
}
if(getApp().globalData.groupchat_id){
updata['groupchat_id'] = getApp().globalData.groupchat_id;
}
getApp().request.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 {
getApp().request.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 {
//-- 这一步主要是要让立即购买 走 购物车的逻辑 参与活动,如果有zh_act就强制组合购购买 --
if(th.data.zh_act
&& th.data.zh_act.zhbuyqty <= th.data.goodsInputNum && (!th.data.zh_act.zh_num || th.data.zh_act.zh_buy_num{
if (res.confirm) {
console.log('用户点击确定')
//----先看会员在购物车中是否加入了该商品,立即购买的-----
getApp().request.get("/api/weshop/cart/page", {
data: {
store_id: os.stoid,
user_id: oo.user_id,
state: 1
},
success: function (res) {
//-------如果购物车中有相关的数据---------
if (res.data.code == 0 && res.data.data.total > 0) {
for (let j in res.data.data.pageData) {
let item_j = res.data.data.pageData[j];
var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
getApp().request.delete(url, {});
}
}
newd.state = 1;
newd.prom_type=0;
newd.prom_id=0
getApp().request.post("/api/weshop/cart/save", {
data: newd,
success: function (t) {
th.closeSpecModal();
getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");
}
});
}
})
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
}else{
//----先看会员在购物车中是否加入了该商品,立即购买的-----
getApp().request.get("/api/weshop/cart/page", {
data: {
store_id: os.stoid,
user_id: oo.user_id,
state: 1
},
success: function (res) {
//-------如果购物车中有相关的数据,先清理掉---------
if (res.data.code == 0 && res.data.data.total > 0) {
for (let j in res.data.data.pageData) {
let item_j = res.data.data.pageData[j];
var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
getApp().request.delete(url, {});
}
}
newd.state = 1;
newd.prom_type=7;
newd.prom_id=th.data.zh_act.id;
getApp().request.post("/api/weshop/cart/save", {
data: newd,
success: function (t) {
th.closeSpecModal();
getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");
}
});
}
})
}
return false
}else{
//----先看会员在购物车中是否加入了该商品,立即购买的-----
getApp().request.get("/api/weshop/cart/page", {
data: {
store_id: os.stoid,
user_id: oo.user_id,
state: 1
},
success: function (res) {
//-------如果购物车中有相关的数据---------
if (res.data.code == 0 && res.data.data.total > 0) {
for (let j in res.data.data.pageData) {
let item_j = res.data.data.pageData[j];
var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
getApp().request.delete(url, {});
}
}
}
})
}
if (th.data.prom_goods && newd.prom_type!=4 && newd.prom_type!=6 ) {
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;
}
}
}
//如果有阶梯促销的时候
if(th.data.jieti_prom && (newd.prom_type==10 || newd.prom_type==0) ){
newd.prom_type = 10;
newd.prom_id = th.data.ladder_act_id;
//----先看会员在购物车中是否加入了该商品,立即购买的-----
getApp().request.get("/api/weshop/cart/page", {
data: {
store_id: os.stoid,
user_id: oo.user_id,
state: 1
},
success: function (res) {
//-------如果购物车中有相关的数据,先清理掉---------
if (res.data.code == 0 && res.data.data.total > 0) {
for (let j in res.data.data.pageData) {
let item_j = res.data.data.pageData[j];
var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
getApp().request.delete(url, {});
}
}
newd.state = 1;
getApp().request.post("/api/weshop/cart/save", {
data: newd,
success: function (t) {
th.closeSpecModal();
getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");
}
});
}
})
return false;
}
//如果有搭配购的时候的时候
if(th.data.collocationGoods && newd.prom_type==0){
newd.prom_type = 5;
newd.prom_id = th.data.collocationGoods.id;
newd.is_coupon= th.data.collocationGoods.is_coupon;
}
//如果有搭配购的时候的时候
if(th.data.zh_act && (newd.prom_type==0 || newd.prom_type==3)){
newd.prom_type = 7;
newd.prom_id = th.data.zh_act.id;
}
//如果有搭配购的时候的时候
if(th.data.jt && newd.prom_type==0){
newd.prom_type = 7;
newd.prom_id = th.data.zh_act.id;
}
newd['pick_name'] = th.data.sto_sele_name;
newd['pick_dis'] = th.data.sto_sele_distr;
th.buyNow(newd);
}
},
//因为在购物车 普通商品和 优惠促销,搭配购,组合购 阶梯购是一样的
check_is_like(e,newd,idx){
if(e.prom_type ==newd.prom_type) return true;
if(!idx) {
if (e.prom_type == 0) {
if ([3, 5, 7, 10].indexOf(newd.prom_type) > -1) return true;
}
if (newd.prom_type == 0) {
if ([3, 5, 7, 10].indexOf(e.prom_type) > -1) return true;
}
}
return false;
},
//----------购买虚拟商品------
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"
// }),
let th=this
this.setData({
openSpecModal: 0,
openSpecModal_inte: 0,
openSpecModal_inte_normal: 0,
openSpecModal_pt: 0,
})
if (e.prom_type == 4) {
s.set_b_now(e);
var url = "/packageE/pages/cart/cart2_inte/cart2_inte?is_bnow=1&goods_id=" + e.goods_id;
getApp().goto(url);
} else {
//要判断积分购的普通购买有没有参加优惠活动
if (e.is_integral_normal == 1 || e.is_pd_normal == 1) {
this.check_nor_promgood(e.goods_id, function (res) {
if (res && res.cat_id) {
e.prom_type = 3;
e.prom_id = res.cat_id
}
s.set_b_now(e);
/*--
wx.redirectTo({
url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id,
});--*/
getApp().goto("/packageE/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id)
})
} else {
//搭配购特殊处理
if( [3,5,7,10].indexOf(th.data.data.prom_type)>-1){
e.prom_type=th.data.data.prom_type
e.prom_id=th.data.data.prom_id
e.collocation_goods=[]
}
if(th.data.collocationGoods){
e.prom_type=5
e.prom_id=th.data.collocationGoods.id
}
s.set_b_now(e);
/*--
wx.redirectTo({
url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id,
});--*/
getApp().goto("/packageE/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.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.showToast({
title: '超出商品限购',
icon: 'none',
});
// s.my_warnning('超出商品限购', 0, th);
var num = th.data.sele_g.viplimited - gd_buy_num;
if (num < 0) num = 0;
th.setData({
goodsInputNum: num
})
return false;
}
}
//如果是普通购买的情况下
if (th.data.openSpecModal_flash_normal) th.data.is_normal = 1;
//--判断商品是否超出活动限购--
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.showToast({
title: '超出商品活动限购',
icon: 'none',
});
// s.my_warnning('超出商品活动限购', 0, th);
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 == 2 || th.data.sele_g.prom_type == 6) && !th.data.is_normal) {
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.showToast({
title: '超出商品活动库存',
icon: 'none',
});
// s.my_warnning('超出商品活动库存', 0, th);
th.setData({
goodsInputNum: redis_num
})
return false;
}
}
var e = th.data.sele_g.store_count;
var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4
if (th.data.sales_rules >= 2 && (p_type != 1 && p_type != 4 && p_type != 6 && p_type != 2 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) {
if (!th.data.def_pick_store) {
wx.showToast({
title: '请选择门店',
icon: 'none',
});
// wx.showModal({title: '请选择门店',});
return false;
} else {
e = th.data.def_pick_store.CanOutQty;
}
}
if (!e) e = 0;
//库存不足,不增加
if (e < t) {
wx.showToast({
title: '库存不足',
icon: 'none',
});
// wx.showModal({title: '库存不足',});
if (e < 0) e = 0;
th.setData({
goodsInputNum: e
});
return false;
}
t > 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.showToast({
title: '超出商品限购',
icon: 'none',
});
// s.my_warnning('超出商品限购', 0, th);
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.showToast({
title: '超出商品活动限购',
icon: 'none',
});
// s.my_warnning('超出商品活动限购', 0, th);
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.showToast({
title: '超出商品活动库存',
icon: 'none',
});
// s.my_warnning('超出商品活动库存', 0, th);
th.setData({
goodsInputNum: redis_num
})
return false;
}
}
//判断积分购库存
if (!th.data.is_normal && th.data.prom_type == 4) {
var i_canbuy = th.data.prom_act.limitqty - th.data.prom_act.buy_num;
if (t > i_canbuy) {
wx.showToast({
title: '超出商品活动库存',
icon: 'none',
});
// s.my_warnning('超出商品活动库存', 0, th);
return false;
}
}
var e = th.data.sele_g.store_count;
var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4
if (th.data.sales_rules >= 2 && (p_type != 1 && p_type != 4 && p_type != 6 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) {
if (!th.data.def_pick_store) {
wx.showModal({
title: '请选择门店',
});
return false;
} else {
e = th.data.def_pick_store.CanOutQty;
}
}
if (!e) e = 0;
//库存不足,不增加
if (e < t) {
wx.showToast({
title: '库存不足',
icon: 'none',
});
//wx.showModal({title: '库存不足',});
if (e < 0) e = 0;
th.setData({
goodsInputNum: e
});
return false;
}
t > 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({
sele_g: this.data.data,
gid: this.data.data.goods_id
})
this.sele_spec_chech_activity();
}
this.setData({
openSpecModal: !1,
openSpecModal_pt: !1
});
},
openSpecModel: function (t) {
var th = this;
var open_store = t.currentTarget.dataset.ind;
if (getApp().is_sp_hao() && open_store == 1) {
wx.showToast({
title: "视频号商品不允许加入购物车",
icon: 'none',
duration: 2000
});
return false;
}
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: '/packageE/pages/togoin/togoin',
})
return false;
}
var check_up = 0;
if (th.data.more_flash) {
for (var i in th.data.more_flash) {
var item = th.data.more_flash[i];
if (item.prom_type == 1) {
check_up = 1;
break
}
}
}
if (check_up && open_store == 1) {
th.setData({
is_pop_more: 1
});
} else {
var ind = t.currentTarget.dataset.ind;
//--先判断会员状态--
var user_info = getApp().globalData.userInfo;
if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
wx.navigateTo({
url: '/packageE/pages/togoin/togoin',
})
return false;
}
var is_go_next = 1;
if (th.data.more_flash && th.data.more_flash.length > 1 && open_store == 1) {
is_go_next = 0;
}
if (is_go_next) {
var ind = t.currentTarget.dataset.ind;
//回调。判断是不是优惠促销
th.check_is_prom_goods(function () {
th.setData({
openSpecModal: !0,
openSpecModal_ind: ind,
});
//var is_open=th.data.config
th.get_off_price();
})
} else {
th.setData({
is_pop_more: 1
});
}
}
},
open_next() {
var th = this;
//回调。判断是不是优惠促销
th.check_is_prom_goods(function () {
th.setData({
openSpecModal: !0,
openSpecModal_ind: 1,
is_pop_more: 0
});
th.get_off_price();
})
},
//判断是不是优惠促销
check_is_prom_goods: function (callback) {
var th = this;
var usr = getApp().globalData.userInfo;
if (this.data.sele_g.prom_type != 0 && this.data.sele_g.prom_type != 3 && !this.data.sele_g.whsle_id) {
callback();
} else {
//-- 判断有没有优惠活动 --
getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + th.data.sele_g.goods_id + "/0" + "/" + usr.user_id, {}).then(async res => {
if (res.data.code == 0) {
var r_data = res.data.data;
if(r_data.collocationList){
th.data.ladderLists =null;
th.data.prom_goods =null;
r_data.promGoodsLists=null;
r_data.ladderLists=null;
}
if (r_data.ladderLists) {
var act_id = r_data.ladderLists[0].form_id;
//-- 判断会员能不能参与阶梯促销 --
await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + usr.user_id + "/" + act_id, {}).then(res => {
if (res.data.code == 0 && res.data.data) {
var prom_content = "";
//暂定优惠促销还不能重叠
if (res.data.data.good_object == 0 && (r_data.promGoodsLists || th.data.zh_act)) {
return false;
}
if (res.data.data.good_object == 1) {
r_data.promGoodsLists = null;
}
th.data.ladderLists = r_data.ladderLists;
}
})
}
th.data.prom_goods = r_data.promGoodsLists;
if (!th.data.prom_goods) {
callback();
return false;
}
///api/weshop/order/getWPayOrder?store_id=1&user_id=5682366&prom_id=1&goods_id=1
getApp().promiseGet("/api/weshop/order/getWPayOrder", {
data: {
store_id: os.stoid,
user_id: usr.user_id,
goods_id: th.data.sele_g.goods_id,
prom_id: th.data.prom_goods[0].prom_id
}
}).then(res => {
if (res.data.code == 0) {
wx.showToast({
title: "您已经购买了该商品待支付中",
icon: 'none',
duration: 2000
})
setTimeout(function () {
getApp().goto("/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id, )
}, 1000)
}
//未找到相关记录
else {
callback();
}
})
}
})
}
},
//----获取线下价格-------
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_time < ut.gettimestamp()) {
return false;
}
}
var cur_goods = this.data.sele_g;
var cur_price = cur_goods.shop_price;
if (th.data.card_field && cur_goods[th.data.card_field] > 0) {
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 < cur_price) {
cur_goods.offline_price = datalist[0].WarePrice; //存储线下活动的价格
cur_goods.pricing_type = datalist[0].PriceType; //存储线下活动的类型
}
}
th.setData({
sele_g: cur_goods
});
}
})
}
})
},
//---------点击收藏和不收藏------------
collectGoods: function () {
var t = this,
i = getApp().request;
var user_id = s.globalData.user_id;
if (user_id == '') {
getApp().getUserFir(function () {});
getApp().showWarning("未登录");
return false;
} else {
if (t.data.is_collect_load) return false;
t.data.is_collect_load = 1;
if (t.data.is_collect == 1) { //删除收藏
i.delete("/api/weshop/goodscollect/del/" + o.stoid + "/" + t.data.collect_id, {
success: function (e) {
t.data.is_collect_load = 0;
if (e.data.code == 0) {
t.setData({
is_collect: 0,
collect_id: 0,
});
}
}
});
} else {
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000;
var d = {
goods_id: t.data.data.goods_id,
user_id: s.globalData.user_id,
store_id: o.stoid,
add_time: timestamp,
};
//加入收藏夹就是导购的ID
if (getApp().globalData.guide_id) {
d.guide_id = getApp().globalData.guide_id;
d.guide_type = 2;
}
if(getApp().globalData.groupchat_id){
d.groupchat_id = getApp().globalData.groupchat_id;
}
i.post("/api/weshop/goodscollect/save", { //添加收藏
data: d,
success: function (e) {
t.data.is_collect_load = 0;
if (e.data.code == 0) {
t.setData({
is_collect: 1,
collect_id: e.data.data.collect_id,
});
}
}
});
}
}
},
//---------联系客服------------
contactService: function () {
getApp().com_call(this);
},
// 获取客服电话
getTel() {
return new Promise((resolve, reject) => {
s.getConfig(function (t) {
if (t.store_tel == undefined) {
getApp().request.get("/api/weshop/store/get/" + os.stoid, {
isShowLoading: 1,
data: {},
success: function (rs) {
getApp().globalData.config = rs.data.data;
if (rs.data.data.store_tel == null && rs.data.data.store_tel == undefined) {
getApp().my_warnning("商家未设置电话", 0, th);
return false;
}
self.setData({
store_tel: rs.data.data.store_tel,
});
// s.confirmBox("请联系客服:" + rs.data.data.store_tel);
}
})
} else {
self.setData({
store_tel: t.store_tel,
});
// s.confirmBox("请联系客服:" + t.store_tel);
};
resolve();
});
});
},
//-------获取购物车数量----------
requestCardNum: function () {
var t = this;
getApp().request.get("/api/weshop/cart/page", {
data: {
store_id: o.stoid,
user_id: s.globalData.user_id,
state: 0,
is_gift: 0
},
success: function (e) {
var num = 0;
for (var i = 0; i < e.data.data.pageData.length; i++) {
num += e.data.data.pageData[i].goods_num;
}
//-- 读取服务卡的数量 --
getApp().promiseGet("/api/weshop/cartService/page", {
data: {
store_id: s.globalData.setting.stoid,
user_id: s.globalData.user_id,
}
}).then(res => {
for (var i = 0; i < res.data.data.pageData.length; i++) {
num += res.data.data.pageData[i].goods_num;
}
t.setData({
cartGoodsNum: num
});
})
}
});
},
previewCommentImgs: function (t) {
var e = this.data.comments[t.currentTarget.dataset.cidx].img;
var b = e.slice()
for (var i in b) {
b[i] = this.data.iurl + e[i];
}
this.data.show_prew_img = 1;
getApp().pre_img2(b, t)
},
previewCommentImgs_w: function (t) {
var e = this.data.comments[t.currentTarget.dataset.cidx].weapp_img;
var b = e.slice()
for (var i in b) {
b[i] = this.data.iurl + e[i];
}
this.data.show_prew_img = 1;
getApp().pre_img2(b, t)
},
previewGoodsCommentImgs: function (t) {
var e = this,
a = this.data.data.comment[t.currentTarget.dataset.cidx].img;
a = a.map(function (t) {
return e.data.url + t;
}), getApp().pre_img2(a, t);
this.data.show_prew_img = 1;
},
closePromModal: function () {
this.setData({
openPromModal: !1
});
},
openPromModal: function () {
this.setData({
openPromModal: !0
});
},
//--点击分享事件---
onShareAppMessage: function (t) {
getApp().globalData.no_clear = 1;
var th = this;
var price = th.data.sele_g.shop_price;
if (th.data.prom_act) {
price = th.data.prom_act.price;
}
var title = th.data.sele_g.goods_name;
var img = th.data.sele_g.original_img;
if (th.data.prom_type == 6 || th.data.prom_type == 1 || th.data.prom_type == 4) {
title = th.data.prom_act.share_title;
if (!title) title = th.data.prom_act.title;
if (th.data.prom_type == 4) title = th.data.prom_act.name;
if (th.data.prom_act.share_imgurl)
img = th.data.iurl + th.data.prom_act.share_imgurl;
}
var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" +
th.data.sele_g.goods_id + "&prom_type=" + th.data.sele_g.prom_type + "&prom_id=" + th.data.sele_g.prom_id;
if (getApp().globalData.user_id) {
url += "&first_leader=" + getApp().globalData.user_id;
}
//-- 如果房间分享,且不是会员分享的 --
if (getApp().globalData.room_id &&
th.data.sele_g.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share
) {
url += "&room_id=" + getApp().globalData.room_id + "&room_user_share=1";
}
//群id分享
if (getApp().globalData.groupchat_id && getApp().globalData.groupchat_id!='undefined') {
url+="&groupchat_id="+getApp().globalData.groupchat_id
}
var ob = {
title: price + "元 " + title,
path: url,
imageUrl: img,
};
if (th.data.prom_type == 6) {
title += '\n' + th.data.prom_act.share_remark;
ob.title = title;
ob.desc = th.data.prom_act.share_remark;
}
//如果是积分购的时候
if (th.data.prom_type == 4) {
var name = th.data.prom_act.name;
//-- 积分购的 --
var pri0 = th.data.prom_act.addmoney;
var integral = th.data.prom_act.integral;
var text = "";
if (integral) {
text = integral + "积分";
}
if (pri0 && integral) {
text += "+";
}
if (pri0) {
text += "¥" + pri0;
}
ob.title = text + " " + name;
}
//-- 页面不能刷新 --
this.data.show_prew_img = 1;
console.log("share..");
console.log(ob);
return ob;
},
//-----图片失败,默认图片-----
bind_bnerr: function (e) {
var _errImg = e.target.dataset.errorimg;
var _errObj = {};
_errObj[_errImg] = this.data.iurl + "/miniapp/images/default_g_img.gif";
this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
},
//-----图片失败,默认图片-----
bind_bnerr2: function (e) {
var _errImg = e.target.dataset.errorimg;
var _errObj = {};
_errObj[_errImg] = this.data.iurl + "/miniapp/images/hui_hear_pic.png"
this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
},
//----------装载同一条形码的商品----------
async get_sku(stoid, gd, g_id, is_normal, func) {
console.log('get_sku');
var tt = this,
arrdata = null;
var now = ut.gettimestamp();
await getApp().request.promiseGet("/api/weshop/goods/page", {
data: {
store_id: o.stoid,
sku: gd.sku,
more_spec: gd.more_spec,
isonsale: 1,
is_on_sale: 1,
pageSize: 500,
orderField: 'gg_ordid,goods_spec,sort',
isnewwhere:1
}
}).then(res => {
var e = res;
if (e.data.code == 0) arrdata = e.data.data.pageData;
})
if (!arrdata) return false;
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) {
switch (goodsinfo.prom_type) {
case 1:
if (goodsinfo.prom_id) {
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;
})
}
break;
case 6:
await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + goodsinfo.prom_id, {}).then(res => {
console.log(res);
if (res.data.code == 0) prom = res.data.data;
})
break;
case 2:
await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, {}).then(res => {
if (res.data.code == 0) prom = res.data.data;
})
break;
case 4:
await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, {}).then(res => {
if (res.data.code == 0) prom = res.data.data;
})
break
//预售和幸运购不参与
case 8:
case 9:
continue;
}
}
//---如果有活动,不算在一起---
if (prom) {
if (goodsinfo.prom_type == 1 || goodsinfo.prom_type == 6) {
console.log(prom);
if (prom.is_end == 0 && prom.end_time > now && prom.start_time < now) continue;
} else {
continue;
}
}
var item = arrdata[i],
gg = "";
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 = "规格" + gb;
gb++;
}
item.gg = gg;
if (item.spec_img)
item.original_img = os.imghost + item.spec_img;
else
item.original_img = os.imghost + item.original_img;
if (item.goods_id == g_id) {
gitem = item;
} else {
arrsku.push(item);
}
}
//-----------排列在最前面-------------
arrsku.splice(0, 0, gitem);
if (is_normal == 1) {
tt.setData({
sku_g_pt: arrsku,
sele_g: gitem
});
func();
} else {
tt.setData({
sku_g: arrsku,
sele_g: gitem
});
}
},
//-----------选择属性的按钮事件----------
sele_spec: function (e) {
var that = this;
var gid = e.currentTarget.dataset.gid;
var nor = e.currentTarget.dataset.nor;
var user_id=getApp().globalData.user_id;
var sku_g = this.data.sku_g;
if (nor || (gid!=this.data.base_nor_goods_id && this.data.base_nor) ){
sku_g = this.data.sku_g_pt;
if(nor) this.data.base_nor=nor;
}
//普通商品多规格的时候,商品切换
if(this.data.base_nor_prom_type) this.data.base_nor_prom_type=parseInt(this.data.base_nor_prom_type);
if([1,2,4,8,9].indexOf(this.data.base_nor_prom_type)==-1){
this.setData({
prom_goods:null,
jieti_prom:null,
order_prom:null,
zh_act:null,
more_flash:null,
})
}
//that.data.change=1;
var item = null;
for (var i in sku_g) {
if (sku_g[i].goods_id == gid) {
item = sku_g[i];
if (item.original_img.indexOf(that.data.iurl) == -1) {
item.original_img = that.data.iurl + item.original_img;
}
break
}
}
console.log(item, 2000);
var cur_price = item.shop_price;
if (getApp().globalData.userInfo && getApp().globalData.userInfo.card_field) {
var cfile = getApp().globalData.userInfo.card_field;
console.log('cfile', cfile);
if (item[cfile]) {
cur_price = item[cfile];
}
}
var txt = (cur_price / item.market_price * 10).toFixed(2).toString();
txt = parseFloat(txt);
item['disc'] = txt;
if (item) this.setData({
sele_g: item,
gid: gid,
data: item,
});
if (nor) that.get_sto(1);
else that.get_sto();
if (!item.whsle_id && [1,2,4,6].indexOf(item.prom_type)==-1) that.check_is_youhui(gid, that.data.is_normal);
//默认门店要拿下门店库存
if (that.data.sales_rules >= 2 && that.data.def_pick_store && !that.data.sele_g.whsle_id && [1,2,4,6].indexOf(item.prom_type)==-1) {
var lock = 0,
plist = null;
that.check_CanOutQty(that.data.sele_g, that.data.def_pick_store, function (CanOutQty) {
that.data.def_pick_store.CanOutQty = CanOutQty;
//--给门店赋值线下库存--
that.setData({
def_pick_store: that.data.def_pick_store
});
})
}
this.sele_spec_chech_activity(nor);
//如果是秒杀,拼团等互动,就不重新算界面
if([1,2,4,8,9].indexOf(this.data.base_nor_prom_type)>0){ return false; }
this.check_has_flash(gid);
var url = '/api/weshop/activitylist/listGoodActInfo2New';
var req_d = {
"store_id": os.stoid,
"goods_id": this.data.gid,
"user_id": user_id,
}
getApp().request.get(url, {
data: req_d,
success: function (e) {
if (e.data.code!= 0 || !e.data.data || e.data.data.length <= 0) return false;
var arr = e.data.data;
if(!arr || !arr.length){
return false;
}
var arr3 = arr.filter(function (e) {
return e.s_time < ut.gettimestamp() && e.prom_type==7;
})
if(arr3 && arr3.length>0){
//获取活动信息
var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" +
arr3[0].act_id + "/" + getApp().globalData.user_id;
getApp().request.get(url, {
success: function (e) {
if (e.data.code == 0 && e.data.data) {
if (ut.gettimestamp() < e.data.data.start_time) {
return false;
}
if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) {
//-- 获取商品列表 --
th.setData({
zh_act: e.data.data
});
th.getUserBuyPromNum(e.data.data.id)
}
}
}
});
}
}
})
},
//选择了不同的规格的时候要判断是不是有活动正在进行中
async sele_spec_chech_activity(nor) {
//---如果是活动的时候---
var prom = null,
goodsinfo = this.data.sele_g,
th = this;
//如果是普通购买的时候,要返回原先
if(goodsinfo.goods_id==this.data.base_nor_goods_id){
goodsinfo.prom_type=this.data.base_nor_prom_type;
goodsinfo.prom_id=this.data.base_nor_prom_id;
this.setData({
prom_type:this.data.base_nor_prom_type,
prom_id:this.data.base_nor_prom_id,
})
}
var user_id = getApp().globalData.user_id;
if (!user_id) user_id = 0;
if (goodsinfo.prom_type == 1) {
await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + goodsinfo.prom_id, {}).then(res => {
if (res.data.code == 0) {
prom = res.data.data;
prom.price = prom.user_price;
this.setData({
is_share_text:prom.is_share_text
})
}
})
}
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.ct_rylist != "null" && prom.ct_rylist != "" && prom.ct_rylist != null && prom.ct_rylist != undefined) {
prom.ct_rylist = JSON.parse(prom.ct_rylist);
var max_num = 0;
prom.ct_rylist.forEach(function (val, ind) {
if (parseInt(val.rynum) > max_num) max_num = parseInt(val.rynum);
})
prom.max_ct_num = max_num;
}
}
})
}
if (goodsinfo.prom_type == 4) {
await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, {}).then(res => {
if (res.data.code == 0) {
prom = res.data.data;
}
})
let times = new Date().getTime()
prom.show_time_off=""
let atimes= prom.start_time*1000
if(atimes>times){
prom.show_time_off=ut.formatTime(prom.start_time)
}
}
console.log('活动详情------------');
console.log(prom);
//----------如果有活动,并且在进行中,就不计算线下库存---------------
var now = ut.gettimestamp();
if (prom) {
var t1 = prom.start_time;
var prom_st = 1;
if (prom.show_time) {
t1 = prom.show_time;
if (prom.start_time > now) prom_st = 0;
}
if (prom.is_end == 0 && prom.end_time > now && t1 < now) {
th.setData({
prom_type: goodsinfo.prom_type,
prom_price: prom.price,
prom_buy_limit: prom.buy_limit ? prom.buy_limit : (prom.limitvipqty ? prom.limitvipqty : 0),
prom_end_time: prom.end_time,
prom_start_time: prom.start_time,
prom_st: prom_st,
prom_act: prom,
prom_id: prom.id
})
//却换图片
th.init(goodsinfo.goods_id);
var newTime = ut.gettimestamp();
var endTime2 = prom.end_time;
var endTime1 = prom.start_time;
this.data.is_timer = 0;
setTimeout(function () {
th.data.is_timer = 1;
if (endTime1 > newTime) {
th.setData({
prom_time_text: '距秒杀开始还有'
})
th.countDown(endTime1, 0);
} else {
if (endTime2 > newTime) {
th.setData({
prom_time_text: '距秒杀结束还有',
prom_st: 1
})
th.countDown(endTime2);
}
}
}, 1000)
return false;
}
}
if(nor) return false;
//---设置普通商品---
th.setData({
prom_type: 0,
prom_price: null,
prom_buy_limit: null,
prom_end_time: null,
prom_start_time: null,
prom_st: null,
})
},
//---------拿出门店分类和门店------------
get_sto(e) {
console.log('get_sto')
var th = this,
that = this;
var is_normal = e;
if (e == 1) {
th.setData({
is_normal: 1
})
} else {
th.setData({
is_normal: 0
})
}
var timer_get = setInterval(function () {
if (th.data.is_get_local_ok == 0) return false;
var dd = null,
i = getApp().request;
if (!th.data.sele_g) return false;
var g_distr_type = th.data.sele_g.distr_type;
if (g_distr_type != 0) {
dd = {
store_id: o.stoid,
distr_type: g_distr_type,
isstop: 0,
is_pos: 1,
pageSize: 2000
}
} else {
dd = {
store_id: o.stoid,
isstop: 0,
is_pos: 1,
pageSize: 2000
}
}
//如果有距离的话
if (th.data.lat != null) {
dd.lat = th.data.lat;
dd.lon = th.data.lon;
}
clearInterval(timer_get);
//如果会员是有默认的门店话
if (!th.data.def_pick_store && th.data.fir_def_store && Object.keys(th.data.fir_def_store).length > 0) {
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) {
var his_cate_num = 0;
for (let i in e.data.data.pageData) {
let item = e.data.data.pageData[i];
if (item.category_id > 0) {
his_cate_num = 1;
break;
}
}
e.his_cate_num = his_cate_num;
//如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店
if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) {
th.setData({
def_pick_store: e.data.data.pageData[0],
sto_sele_name: e.data.data.pageData[0].pickup_name,
sto_sele_id: e.data.data.pageData[0].pickup_id,
sto_sele_distr: e.data.data.pageData[0].distr_type
});
th.data.fir_def_store = e.data.data.pageData[0];
}
//-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 --
if (th.data.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 (th.data.sales_rules >= 2 && !th.data.is_newsales_rules && !th.data.sele_g.whsle_id && ([1,2,4,6,8,9].indexOf(th.data.prom_type)==-1 || is_normal == 1)) {
setTimeout(function () {
th.deal_pickup_dline(e);
}, 800)
} else {
setTimeout(function () {
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;
wx.hideLoading();
//单总量超出10个的时候,同时门店有分类
if (e.data.data.total > 10 && e.his_cate_num) {
getApp().request.get("/api/weshop/storagecategory/page", {
data: {
store_id: o.stoid,
pageSize: 1000,
orderField: "sort",
orderType: 'asc',
},
success: function (ee) {
if (ee.data.code == 0) {
var check_all_cate = 0;
if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
for (let i in ee.data.data.pageData) {
let item = ee.data.data.pageData[i];
if (item.is_show == 1) {
check_all_cate = 1;
break
}
}
}
if (check_all_cate) {
var sto_cate = ee.data.data.pageData;
var sto_arr = e.data.data.pageData;
var newarr = new Array();
var qita = new Array();
var is_del_pk = 0;
//----要进行门店分组--------
for (var i = 0; i < sto_arr.length; i++) {
//找一下这个门店有没有在分类数组内
var find2 = 0,
find2name = "",
sort = 0;
is_del_pk = 0;
for (var m = 0; m < sto_cate.length; m++) {
if (sto_arr[i].category_id == sto_cate[m].cat_id) {
if (sto_cate[m].is_show != 1) {
is_del_pk = 1;
sto_arr.splice(i, 1);
i--;
} else {
find2 = sto_cate[m].cat_id;
find2name = sto_cate[m].cat_name;
sort = sto_cate[m].sort;
is_del_pk = 0;
}
break;
}
}
if (is_del_pk) continue;
if (newarr.length > 0) {
var find = 0;
//如果有找到,那门店就在这个分组内,否则,分类就要排在其他
if (find2 != 0) {
for (var ii = 0; ii < newarr.length; ii++) {
if (sto_arr[i].category_id == newarr[ii].cat_id) {
newarr[ii].s_arr.push(sto_arr[i]);
find = 1;
break;
}
}
if (find == 0) {
var arr0 = new Array();
arr0.push(sto_arr[i]);
var item = {
cat_id: find2,
name: find2name,
sort: sort,
s_arr: arr0
};
newarr.push(item);
}
} else {
qita.push(sto_arr[i]);
}
} else {
//如果有找到,那门店就在这个分组内,否则,分类就要排在其他
if (find2 != 0) {
var arr0 = new Array();
arr0.push(sto_arr[i]);
var item = {
cat_id: find2,
name: find2name,
sort: sort,
s_arr: arr0
};
newarr.push(item);
} else {
qita.push(sto_arr[i]);
}
}
}
var def_arr = new Array();
//-- 开始就看10个门店 --
for (var k = 0; k < 10; k++) {
if (k == sto_arr.length) break;
def_arr.push(sto_arr[k]);
}
th.setData({
def_pickpu_list: def_arr,
pickpu_list: ee.data.data.pageData
});
//门店分类要排序下
function compare(property) {
return function (a, b) {
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
if (newarr.length > 0)
newarr.sort(compare("sort"));
//----安排其他的分类-----
if (qita.length > 0) {
var item = {
cat_id: -1,
name: "其他",
s_arr: qita
};
newarr.push(item);
}
var sd = {
all_sto: newarr,
is_show_sto_cat: 1
}
if (!sto_arr || sto_arr.length <= 10) {
sd.is_show_sto_cat = -1;
sd.only_pk = sto_arr;
}
th.setData(sd);
} else {
th.setData({
is_show_sto_cat: -1,
only_pk: e.data.data.pageData
});
//-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
if (!th.data.def_pick_store) {
th.setData({
def_pick_store: e.data.data.pageData[0],
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
})
}
}
} 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],
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
})
}
}
}
});
} 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);
}
pkno.sort();
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 = [];
var lock_rq = {
store_id: os.stoid,
wareId: th.data.sele_g.goods_id,
pageSize: 1000
};
if (th.data.sales_rules == 3) {
lock_rq.appoint_pick_keyid = th.data.appoint_pick_keyid;
}
//先读取门店的lock,采用链式写法,少用await
getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
data: lock_rq
}).then(res => {
if (res.data.code == 0 && res.data.data.total > 0) {
lock = res.data.data.pageData
}
var sto_rq = {
wareIds: encodeURIComponent(th.data.sele_g.erpwareid),
storeId: os.stoid,
pageSize: 2000
}
if (th.data.sales_rules == 3) {
sto_rq.storageIds = th.data.appoint_pick_keyid;
} else {
sto_rq.storageNos = pkno_str;
}
//---通过接口获取门店的线下库存信息--
return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
data: sto_rq
})
}).then(res => {
wx.hideLoading();
if (res.data.code == 0) {
if (res.data.data.pageData && res.data.data.pageData.length > 0) {
var def_pick_store = th.data.def_pick_store;
var plist = res.data.data.pageData;
if (th.data.sales_rules == 3) {
var lock_num = 0;
var Qty = 0;
//-- 计算锁住的库存 --
for (var i in lock) lock_num += lock[i].outQty;
Qty = plist[0].CanOutQty - lock_num;
if (Qty > 0) {
for (var kk in o_plist) {
o_plist[kk].CanOutQty = Qty;
new_list.push(o_plist[kk]);
}
if (th.data.fir_def_store &&
(g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || (th.data.def_pick_store && th.data.def_pick_store.distr_type == g_distr_type))) {
th.data.fir_def_store.Qty;
if (def_pick_store && 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;
}
} else {
th.setData({
all_sto: null,
only_pk: null,
def_pickpu_list: null
});
return false;
}
} else {
//以原来的数组为外循环,保证距离的顺序
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 && 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);
}
}
for (let j = 0; j < em.data.data.pageData.length; j++) {
var iu = em.data.data.pageData[j];
if (iu.CanOutQty <= 0) iu.is_no_qyt = 1;
}
//---把数组组装进去---
th.deal_pickup(em);
} else {
th.setData({
all_sto: null,
only_pk: null,
def_pickpu_list: null
})
}
} else {
th.setData({
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.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) {
console.log('check_prom');
var ee = this,th = ee;
var user_id = getApp().globalData.user_id;
if (!user_id) user_id = 0;
if (prom_type == 3 || prom_type == 0 || prom_type == 5 || prom_type == 7 || prom_type == 9 || prom_type == 10) {
this.setData({
prom_type: 0,
isshow: 1,
});
return false;
}
if (prom_type == 2) {
//-------判断团购活动是否抢光---------
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/goods/groupBuy/getActInfo/" + os.stoid + "/" + gid + "/" + prom_id, {
success: function (t) {
if (t.data.code != 0) {
ee.get_normal(gid);
return false;
}
//----已经结束-----
if (t.data.data.is_end == 1) {
ee.get_normal(gid);
return false;
}
//----已经过期-----
var now = ut.gettimestamp();
if (t.data.data.end_time < now || t.data.data.start_time > now) {
ee.get_normal(gid);
return false;
}
/*-- 还没有开始预热的也不显示 --*/
if (t.data.data.show_time > now) {
ee.get_normal(gid);
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: 2,
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;
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 == 1 && prom_id == 0) {
this.setData({
prom_type: 0,
isshow: 1,
});
//获取门店
this.get_sto();
this.get_sku(o.stoid, this.data.data, gid);
this.check_has_flash();
this.data.is_normal = 1;
if (!this.data.data.whsle_id) this.check_is_youhui(gid, 1);
return false;
}
//if (prom_type != 3 && prom_type!=0){
//---判断秒杀----
if (prom_type == 1 && prom_id > 0) {
//-------判断活动是否抢光---------
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/getNew/" + os.stoid + "/" + user_id + "/" + prom_id, {
success: function (t) {
if (t.data.code != 0) {
ee.get_normal(gid);
return false;
}
ee.setData({
is_share_text:t.data.data.is_share_text
})
//----已经结束-----
if (t.data.data.is_end == 1) {
ee.get_normal(gid);
return false;
}
//----已经过期-----
var now = ut.gettimestamp();
if (t.data.data.end_time < now) {
ee.get_normal(gid);
return false;
}
/*-- 还没有开始预热的也不显示 --*/
if (t.data.data.show_time > now) {
ee.get_normal(gid);
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.user_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;
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 (endTime1 < newTime) {
//-- 获取秒杀活动的多少规格 --
ee.get_more_flahs(function (list) {
if (list && list.length > 1) {
var n_item = list[0];
var ind = list.findIndex(function (ele) {
return ele.goods_id == ee.data.data.goods_id;
})
if (ind < 0) return false;
if (ind > 0) {
n_item = JSON.parse(JSON.stringify(list[ind]));
list.splice(ind, 1);
list.unshift(n_item);
}
ee.data.sele_g.viplimited = n_item.viplimited;
ee.data.data.viplimited = n_item.viplimited;
ee.data.sele_g.prom_type=1;
ee.data.sele_g.prom_id=n_item.act_id;
var gb = 1;
//-- 显示多规格 --
for (let i in list) {
let item = list[i];
var gg = "";
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 = "规格" + gb;
gb++;
}
item.gg = gg;
item.prom_id = item.prom_id;
item.prom_type = 1;
}
ee.setData({
sku_g: list,
});
}
})
}
}
});
}
})
}
if (prom_type == 4) {
//th.setData({is_integral_normal:1});
var rdata = {
store_id: o.stoid,
stype: 1,
stypeup: 1,
goods_id: gid,
timetype:2,
user_id:getApp().globalData.user_id,
}
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 ? res.data.data?.Integral : 0;
}
})
//获取一下积分活动
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));
let times = new Date().getTime()
inte_data.show_time_off=""
let atimes= inte_data.start_time*1000
if(atimes>times){
inte_data.show_time_off=ut.formatTime(inte_data.start_time)
}
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.get_normal(gid);
return false;
}
})
}
//---判断拼单----
if (prom_type == 6) {
th.setData({user_order_pt_state: 0 });
//-------判断活动是否抢光---------
await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
1: 1
}).then(res => {
var em = res;
var flag = null;
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: async function (t) {
if (t.data.code != 0) {
ee.get_normal(gid);
return false;
}
//----已经结束-----
if (t.data.data.is_end == 1) {
ee.get_normal(gid);
return false;
}
//----已经过期-----
var now = ut.gettimestamp();
if (t.data.data.end_time < now) {
ee.get_normal(gid);
return false;
}
/*-- 还没有开始预热的也不显示 --*/
if (t.data.data.show_time > now) {
ee.get_normal(gid);
return false;
}
/*-- 判断拼单是否启用 --*/
if (!t.data.data.is_show) {
console.log('没启用');
wx.setNavigationBarTitle({
title: '系统提示',
});
wx.showToast({
title: '此商品暂时没有拼单活动',
icon: 'none',
success() {
setTimeout(() => {
wx.navigateBack()
}, 2000)
}
});
return false
}
//判断拼团的---会员身份--
await getApp().request.promiseGet("/api/weshop/teamlist/pageteam/2", {
data: {
store_id: os.stoid,
is_end: 0,
is_show: 1,
user_id: getApp().globalData.user_id,
pageSize: 1000
}
}).then(res => {
let pd_list = res.data.data.pageData;
if (res.data.code == 0 && pd_list.length > 0) {
flag = pd_list.some(pd => {
return pd.goods_id == gid
})
}
})
if (!flag) {
ee.get_normal(gid);
return false;
}
//-------查看自己是不是有买过该团的商品,并还为支付,或者在进行中-------
await getApp().request.promiseGet("/api/weshop/order/page", {
data: {
pt_prom_id: prom_id,
user_id: oo.user_id,
store_id: os.stoid,
pageSize: 1,
page: 1
}
}).then(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 != "null" && 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_arr = [],
th = this,
grounp_tatal = 0;
//如果活动是开团不是商家团
if (this.data.prom_act.kttype > 1) {
var teamgroup=null;
var req_data = {
store_id: os.stoid,
pageSize: 3,
page: 1,
state: 2,
team_id: prom_id,
ordernum: 1
};
if (this.data.prom_act.kttype == 3 && this.data.prom_act.max_ct_num) {
req_data.max_num = this.data.prom_act.max_ct_num;
}
//获取活动从表信息team_id
await getApp().request.promiseGet("/api/weshop/teamgroup/page", {
data: req_data
}).then(res => {
if(ut.ajax_ok(res)){
teamgroup = res.data.data.pageData;
grounp_tatal = res.data.data.total;
}
})
if(teamgroup){
//获取订单的总数这个接口不能用
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 => {
if(ut.ajax_ok(res)){
var order = res.data.data.pageData;
teamgroup[i].open_num = order.length;
}
})
if(!teamgroup[i].open_num) continue;
await getApp().request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + teamgroup[i].openvipid, {}).then(res => {
var user = res.data.data;
teamgroup[i].user = user;
})
teamgroup_arr.push(teamgroup[i]);
}
}
if (teamgroup_arr.length > 0) {
th.setData({
teamgroup: teamgroup_arr,
grounp_tatal: grounp_tatal
});
th.countDown2();
}
}
},
//---小于10的格式化函数----
timeFormat(param) {
return param < 10 ? '0' + param : param;
},
// 显示拼单规则
showRules: function () {
this.setData({
showRules: true,
});
},
// 关闭拼单规则
closeRules: function () {
this.setData({
showRules: false,
});
},
//----倒计时函数-----
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 (th.data.prom_type == 0 && gd.prom_type == 1) {
gd.prom_type = 0;
}
//如果全场优惠,商品做了秒杀
if (th.data.prom_type == 3 && gd.prom_type == 1) {
gd.prom_type = 0;
}
//如果全场阶梯优惠,商品做了秒杀
if (th.data.prom_type == 10 && gd.prom_type == 1) {
gd.prom_type = 0;
}
if (!th.data.is_normal && (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.promgoodsbuynum,
});
"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,
goodsInputNum: 1
}); //拼团直接给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: '/packageE/pages/togoin/togoin',
})
return false;
}
var th = this;
var ind = parseInt(e.currentTarget.dataset.it);
//如果是拼单活动的普通购买
if (ind == 1) {
if (!th.data.is_normal) {
th.data.g_buy_num = new Map();
}
//如果拼单的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, th.data.gid, 1, function () {
th.setData({
is_normal: ind,
openSpecModal_pt: 1
});
});
}
if (!th.data.sele_g.whsle_id) th.check_is_youhui(th.data.gid, 1);
} else {
if (th.data.is_normal) {
th.data.g_buy_num = new Map();
}
//拼单商品从这里进,先判断有没有买过商品,
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,
});--*/
getApp().goto("/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();
},
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;
//----------添加到购物车时,要判断限购数量,--------
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.showToast({
title: '超出商品限购',
icon: 'none',
});
// s.my_warnning('超出商品限购', 0, th);
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.showToast({
title: '超出商品活动限购',
icon: 'none',
});
// s.my_warnning('超出商品活动限购', 0, th);
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) {
if (o.store_count <= 0 ) {
wx.showToast({
title: '库存已为空!',
icon: 'none',
});
return false;
};
//-------判断活动是否抢光---------
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.showToast({
title: '超出商品活动库存',
icon: 'none',
});
// s.my_warnning('超出商品活动库存', 0, th);
th.setData({
goodsInputNum: redis_num
})
return false;
}
}
else{
if (o.store_count <= 0) {
wx.showToast({
title: '库存已为空!',
icon: 'none',
});
return false;
};
}
if (th.data.goodsInputNum <= 0) {
wx.showToast({
title: '商品数量不能为0',
icon: 'none',
});
return false;
// return s.my_warnning("商品数量不能为0", 0, th);
};
if (th.data.goodsInputNum > o.store_count) {
th.setData({
goodsInputNum: o.store_count
})
wx.showToast({
title: '超出商品库存',
icon: 'none',
});
return false;
// return s.my_warnning("超出商品库存", 0, th);
}
if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined)
th.setData({
sto_sele_name: ""
});
if (th.data.sto_sele_name == "") 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(getApp().globalData.groupchat_id){
newd['groupchat_id'] = getApp().globalData.groupchat_id;
}
//让商品带上房间号
if (!th.data.sys_switch.is_skuroom_id && 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);
var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/');
var end = new Date(str);
end = Date.parse(end) / 1000;
var now = ut.gettimestamp();
//如果后台有开启等级价的功能
if (parseInt(s_list.rank_switch) == 2 && end > 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;
}
}
}
}
//-----如果是秒杀,团购,积分购,拼团,且不是普通购买-----
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;
if (newd['is_normal']) {
newd['is_pd_normal'] = 1;
//判断一下有没有全局优惠活动
th.check_nor_promgood(newd.goods_id, function (e) {
if (e && e.act_id) {
newd['prom_type'] = e.prom_type;
newd['prom_id'] = e.act_id;
//搭配购要把是否使用券带入
if( newd['prom_type']==5 ){
newd['is_coupon']=e.is_coupon;
}
}
if(e.prom_type==10){
//----先看会员在购物车中是否加入了该商品,立即购买的-----
getApp().request.get("/api/weshop/cart/page", {
data: {
store_id: os.stoid,
user_id: oo.user_id,
state: 1
},
success: function (res) {
//-------如果购物车中有相关的数据,先清理掉---------
if (res.data.code == 0 && res.data.data.total > 0) {
for (let j in res.data.data.pageData) {
let item_j = res.data.data.pageData[j];
var url = '/api/weshop/cart/del/' + os.stoid + '/' + item_j.id;
getApp().request.delete(url, {});
}
}
newd.state = 1;
getApp().request.post("/api/weshop/cart/save", {
data: newd,
success: function (t) {
th.closeSpecModal();
getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");
}
});
}
})
return false;
}
th.buyNow(newd)
})
} else 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,
})--*/
getApp().goto(url);
setTimeout(()=>{
this.data.is_go_to_team_show =0;
},1000)
},
//---拼团倒计时---
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 goods_id = e.currentTarget.dataset.goodsid;
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,
});
}
}
});
} 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();
getApp().goto("/pages/team/team_success/team_success?ordersn=" + odr.order_sn);
} else {
console.log(222, goods_id)
wx.navigateTo({
url: "/pages/team/team_show/team_show?tg_id=" + id + "&goods_id=" + goods_id,
});
}
}
//--跳转到参团--
else {
console.log(1111, th.data.goods_id)
wx.navigateTo({
url: "/pages/team/team_show/team_show?tg_id=" + id + "&goods_id=" + goods_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 (quan_list.length > 0) {
let goodInfo = th.data.data
for (let index = quan_list.length - 1; index >= 0; index--) {
if (quan_list[index].useobjecttype == 20) { //判断是单品优惠券
if (quan_list[index].useobjectno != goodInfo.goods_sn) {
quan_list.splice(index, 1)
}
}
}
}
//------------------------
if (quan_list) {
for (var ind in quan_list) {
var ep = quan_list[ind];
var start = "";
var end = "";
if (ep.endtype == 1) {
if (ep.starttype == 1) {
start = ut.formatTime(ut.gettimestamp() + 3600 * 24 * ep.startdays, "yyyy-MM-dd");
} else {
start = ut.formatTime(ut.gettimestamp(), "yyyy-MM-dd");
}
if (ep.days > 0) {
end = ut.formatTime(ut.gettimestamp() + 3600 * 24 * ep.startdays + 3600 * 24 * ep.days, "yyyy-MM-dd");
} else {
end = "不限";
}
} else {
if (ep.starttype == 1) {
start = ut.formatTime(ut.gettimestamp() + 3600 * 24 * ep.startdays, "yyyy-MM-dd");
} else {
if (ep.starttype == 0 && ep.use_start_time > 0) {
start = ut.formatTime(ep.use_start_time, "yyyy-MM-dd");
} else {
start = "不限"
}
}
if (ep.use_end_time > 0) {
end = ut.formatTime(ep.use_end_time, "yyyy-MM-dd");
} else {
end = "不限"
}
}
quan_list[ind].start = start;
quan_list[ind].end = end;
}
}
th.setData({
coupon: coupon,
quan_list: quan_list
});
} else {
th.setData({
coupon: coupon
});
}
},
//--查看评价--
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: '/packageE/pages/togoin/togoin',
})
return false;
}
//如果券还在领取中,不能再点
if (item.linging == 1) {
getApp().my_warnning('领取中..', 0, this);
return false;
}
//如果领取的次数到了
if (item.everyone_num > 0 && item.lqnum >= item.everyone_num) {
getApp().my_warnning('领取失败,您已领完该券', 0, this);
return false;
}
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;
}
if(getApp().globalData.groupchat_id){
pdata.groupchat_id = getApp().globalData.groupchat_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);
}
}
})
},
drawPoster(context, unit, img, vpath, type) {
// 1.灰色背景
context.setFillStyle('#f2f1f6');
context.rect(0, 0, 554 * unit, 899 * unit);
context.fill();
// 2.商城名称
let shopName = this.data.sto_sele_name_1;
context.setTextAlign('center');
context.setFontSize(26 * unit);
context.setFillStyle('black');
context.fillText(shopName, 277 * unit, 60 * unit);
// 3.推荐来源
let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`;
context.setTextAlign('center');
context.setFontSize(22 * unit);
context.setFillStyle('#96959a');
context.fillText(fromText, 277 * unit, 105 * unit);
// 4.海报背景
context.setFillStyle('white');
context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit);
// 5.商品图片
// 图片的x坐标
let bg_x = 37 * unit
// 图片的y坐标
let bg_y = 157 * unit
// 图片宽度
let bg_w = 480 * unit
// 图片高度
let bg_h = 474 * unit
// 图片圆角
let bg_r = 4
// 绘制海报背景图片圆角
context.save()
context.beginPath()
context.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5)
context.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2)
context.arc(bg_x + bg_w, bg_y + bg_h, bg_r, 0, Math.PI * 0.5)
context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI)
context.clip()
context.drawImage(img, bg_x, bg_y, bg_w, bg_h);
context.restore();
// 6.强烈推荐
let src = '';
context.beginPath();
if (type == 0) { // 普通
src = '../../../images/share/q_tj.png';
context.drawImage(src, 54 * unit, 648 * unit, 85 * unit, 30 * unit);
context.setFontSize(16 * unit)
context.setFillStyle("white")
context.setTextAlign('left');
context.fillText('强烈推荐', 64 * unit, 668 * unit);
}
if (type == 1) { // 秒杀
if(this.data.is_share_text==1){
src = '../../../images/share/miao_share.png';
context.drawImage(src, 54 * unit, 648 * unit, 200 * unit, 36 * unit);
}
context.setTextAlign('left');
}
if (type == 2) { // 商家和会员团
src = '../../../images/share/ct_num.png';
context.drawImage(src, 54 * unit, 648 * unit, 120 * unit, 30 * unit);
context.setTextAlign('left');
let ct_num = self.data.prom_act.ct_num;
context.setFontSize(16 * unit)
context.font = 'normal';
context.setFillStyle("red")
if (ct_num < 10) {
context.fillText(ct_num + "人拼团", 100 * unit, 670 * unit);
} else {
context.fillText(ct_num + "人拼团", 96 * unit, 670 * unit);
}
context.setFontSize(22 * unit)
context.fillText("已拼" + self.data.prom_act.buy_num + "份", 186 * unit, 672 * unit);
}
if (type == 3) { // 阶梯团
let list = self.data.prom_act.ct_rylist;
for (let i = 0; i < list.length; i++) {
let item = list[i];
let wi = i * 90 * unit;
context.font = 'normal';
context.setTextAlign('left');
context.setFontSize(16 * unit)
context.setFillStyle("red")
context.fillText("¥", 50 * unit + wi, 680 * unit);
context.setFontSize(22 * unit)
let pri = parseFloat(item.price).toFixed(2);
context.fillText(pri, 66 * unit + wi, 680 * unit);
context.setFillStyle("gray")
context.fillText("满" + item.rynum + "人", 50 * unit + wi, 716 * unit);
}
var wp= 52 * unit;
var hp=755 * unit
self.draw_pos_price(context,wp,hp,self.data.data.market_price,unit);
}
// 7.商品价格
if (type != 3) {
let price = this.data.data.shop_price;
if (this.data.card_field && this.data.data[this.data.card_field]) {
price = this.data.data[this.data.card_field];
}
if (this.data.prom_act) price = this.data.prom_price;
price = parseFloat(price).toFixed(2);
context.setFontSize(32 * unit);
context.setFillStyle('#DE1117');
if (this.data.prom_type == 4 && this.data.prom_integral) {
context.fillText(this.data.prom_integral + '积分+¥' + price, 54 * unit, 735 * unit);
var wp= 62 * unit+ut.measureText(this.data.prom_integral + '积分+¥' + price, 32 * unit);
var hp=735 * unit
this.draw_pos_price(context,wp,hp,this.data.data.market_price,unit);
} else {
context.fillText('¥' + price, 54 * unit, 735 * unit);
var wp= 62 * unit+ut.measureText('¥' + price, 32 * unit);
var hp=735 * unit
this.draw_pos_price(context,wp,hp,this.data.data.market_price,unit);
}
}
// 8.商品标题
context.setFontSize(20 * unit);
context.setFillStyle('#898989');
getApp().draw_Text(context, this.data.data.goods_name, 54 * unit, 800 * unit, 240 * unit, 280 * unit, unit, 1);
// 9.小程序码
context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit);
context.setFontSize(16 * unit);
context.setFillStyle('#777');
context.fillText('长按识别二维码', 378 * unit, 810 * unit);
// 10.竖线
context.beginPath();
context.setFillStyle('#eee');
context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit);
context.fill();
},
//---市场价划掉---
draw_pos_price(context,w,h,market_price,unit){
if(!this.data.sys_switch) return false;
if(!this.data.sys_switch.is_retail_price) return false;
context.setFillStyle("gray")
context.setFontSize(22 * unit)
var pri0 = "¥" + market_price.toFixed(2);
context.fillText(pri0, w, h);
var c_h=h-6;
context.setStrokeStyle('gray');
context.setLineWidth(1 * unit);
context.moveTo(w - 5, c_h);
context.lineTo(w + ut.measureText(pri0, 22 * unit) + 5, c_h);
context.stroke();
},
//--定义的保存图片方法,分享团---
saveImageToPhotosAlbum: function () {
//--先判断会员状态--
var user_info = getApp().globalData.userInfo;
if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
//getApp().my_warnning("请先登录",0,this);
wx.navigateTo({url: '/packageE/pages/togoin/togoin',})
return false;
}
if (this.data.share_hidden) {
this.setData({share_hidden: false,});
};
//类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团
var type = this.data.prom_type;
console.log('商品类型-----');
console.log(type);
// if (type == 2) type = -1;
if (type == 4) type = 0;
if (type == 2) type = 0;
if (type == 6) type = 2; // 6拼团 2团购
if (type == 10) type = -1;
if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3;
console.log('商品类型。。。。。');
console.log(type);
wx.showLoading({title: '生成中...',})
var that = this, th = that;
//设置画板显示,才能开始绘图
that.setData({
canvasHidden: false
})
var app = getApp();
var unit = that.data.screenWidth / 750 * 1.35; //基础单位,
var path2 = that.data.data.original_img;
var scene = th.data.gid + "";
scene += "." + th.data.sele_g.prom_type + "." + th.data.sele_g.prom_id;
var user_id = getApp().globalData.user_id ? getApp().globalData.user_id : 0;
if (user_id > 0) {
scene += "_" + user_id;
}
//-- 如果不是会员分享过来的要分享给别人 --
if (getApp().globalData.room_id && th.data.data.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) {
//固定房间是第3个字符
if (!user_id) scene += "_0";
scene += "_" + getApp().globalData.room_id;
}
///二微码
var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo";
console.log(path3);
// 读取文件成功则OK--
wx.getImageInfo({
src: path3,
success: function (res) {
// 回调写法
th.get_head_temp(th.get_goods_temp, function () {
var vpath = res.path;
var context = wx.createCanvasContext('share');
// 先画背景
var pg_path = "../../../images/share/share_bg.png";
//-- 如果有自定义海报的时候,判断背景的图片 --
if (th.data.share_b_img) {
pg_path = th.data.share_b_img;
}
// context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
console.log('海报类型-----')
console.log(type);
if ( !th.data.share_b_img && (type == 0 || type == 1 || type == 2 || type == 3 )){ // 如果是普通商品,绘制新海报
th.drawPoster(context, unit, th.data.share_goods_img, vpath, type);
} else {
context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
// var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
// var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
// context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);
};
var act_time='';
//-- 是自定义海报的情况下 --
if (th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) {
if (th.data.poster && parseInt(th.data.poster.style) == 2) {
//在线上分享人的情况下
if (parseInt(th.data.poster.show_headpic)) {
//获取坐标
var x = parseFloat(th.data.poster.head_x) * 2;
var y = parseFloat(th.data.poster.head_y) * 2;
var x1 = (x + 90) * unit;
var y1 = (y + 50) * unit;
//--昵称---
context.setFontSize(24 * unit)
context.setFillStyle("black")
context.fillText(app.globalData.userInfo.nickname, x1, y1);
var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit;
//强烈推荐 改许程
var tj_path = "../../../images/share/q_tj.png";
context.drawImage(tj_path, x1 + width, y1 - 22 * unit, 85 * unit, 30 * unit);
context.setFontSize(16 * unit);
context.setLineJoin('round'); //交点设置成圆角
context.setFillStyle("white");
context.fillText('强烈推荐', x1 + width + 8 * unit, y1 - 1 * unit);
//context.setFillStyle("black")
//context.setFontSize(24 * unit)
//context.fillText(getApp().globalData.config.store_name, 40 * unit, 130 * unit);
}
} else {
//--昵称---
context.setFontSize(24 * unit);
context.setFillStyle("black");
context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit);
var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit;
//强烈推荐 改许程
var tj_path = "../../../images/share/q_tj.png";
context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit);
context.setFontSize(16 * unit);
context.setLineJoin('round'); //交点设置成圆角
context.setFillStyle("white");
context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit);
}
};
var share_title = th.data.data.goods_name;
if (th.data.prom_type == 1 || th.data.prom_type == 2 || th.data.prom_type == 6 || th.data.prom_type == 4) {
share_title = th.data.prom_act.share_title;
if (!share_title) share_title = th.data.prom_act.title;
if (th.data.prom_type == 4) share_title = th.data.prom_act.name;
//-- 显示活动时间 --
if(th.data.share_b_img) {
act_time="截止时间:"+ ut.formatTime(th.data.prom_act.end_time);
}
}
//---产品名称---
//文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
if (th.data.share_b_img || (type != 4 && type != 0 && type != 1 && type != 2 && type != 3)) {
context.setFillStyle("black");
context.setFontSize(21.3 * unit)
getApp().draw_Text(context, share_title,
38 * unit, 170 * unit, 200 * unit, 279 * unit, unit);
//------产品的价格-------
context.setFontSize(23 * unit)
context.setFillStyle("red")
var pri0 = th.data.data.shop_price;
if (th.data.card_field && th.data.data[th.data.card_field]) {
pri0 = th.data.data[th.data.card_field];
}
if (th.data.prom_act)
pri0 = th.data.prom_price;
pri0 = parseFloat(pri0).toFixed(2);
var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25;
if(th.data.prom_type!=4)
context.fillText("¥", wd1 - 15, 175 * unit);
context.setFontSize(31 * unit)
var pri_str=pri0;
if(th.data.prom_type==4){
pri_str='';
if(th.data.prom_integral) pri_str=th.data.prom_integral+'积分';
if (pri0 && th.data.prom_integral) {
pri_str += "+";
}
if (pri0) {
pri_str += pri0;
}
wd1 = th.data.screenWidth - ut.measureText(pri_str, 31 * unit) - 20;
}
context.fillText(pri_str, wd1, 175 * unit);
//---市场价划掉---
// context.setFillStyle("gray")
// context.setFontSize(22 * unit)
// pri0 = "¥" + th.data.data.market_price.toFixed(2);
// var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 25;
// context.fillText(pri0, wd2, 213 * unit);
//
// context.setStrokeStyle('gray');
// context.setLineWidth(1 * unit);
// context.moveTo(wd2 - 5, 206 * unit);
// context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit);
// context.stroke();
var wp= wd1;
var hp=203 * unit;
if(th.data.prom_type!=4) wp-=12;
th.draw_pos_price(context,wp,hp,self.data.data.market_price,unit);
} else if (type == 4 ) {
context.setFillStyle("black");
context.setFontSize(21.3 * unit)
getApp().draw_Text(context, share_title,
38 * unit, 160 * unit, 20 * unit, 300 * unit, unit);
//------ 产品的价格 -----
var pri0 = th.data.prom_act.addmoney;
var integral = th.data.prom_act.integral;
var text = "";
if (integral) {
text = integral + "积分";
}
if (pri0 && integral) {
text += "+";
}
if (pri0) {
text += "¥" + pri0;
}
if (!pri0 && !integral) {
text = "0积分";
}
context.setFillStyle("red");
context.fillText(text, 38 * unit, 175 * unit);
//---市场价划掉---
// context.setFillStyle("gray")
// context.setFontSize(22 * unit)
// pri0 = "¥" + th.data.data.market_price.toFixed(2);
// var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 25;
// context.fillText(pri0, wd2, 213 * unit);
//
// context.setStrokeStyle('gray');
// context.setLineWidth(1 * unit);
// context.moveTo(wd2 - 5, 206 * unit);
// context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit);
// context.stroke();
var wp= wd1-12;
var hp=203 * unit
th.draw_pos_price(context,wp,hp,self.data.data.market_price,unit);
}
//---中间大图---
if ( th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) {
context.drawImage(th.data.share_goods_img, 70 * unit, 220 * unit, 408 * unit, 408 * unit);
}
//---自定义海报 产品质量保证
if(th.data.share_b_img && th.data.poster.show_quality==1 && type!=4){
var g_path = "../../../images/share/s_gou.png";
context.drawImage(g_path, 56 * unit, 644 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("正品保证", 84 * unit, 664 * unit);
context.drawImage(g_path, 218 * unit, 644 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("纯实体店", 246 * unit, 664 * unit);
context.drawImage(g_path, 388 * unit, 644 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("官方验证", 420 * unit, 664 * unit);
}
//-------大图后面就不一样了-----------
switch (type) {
case 0:
if(!th.data.share_b_img){
break
}
//---画线---
// context.setLineWidth(1 * unit)
// context.moveTo(32 * unit, 710 * unit)
// context.lineTo(520 * unit, 710 * unit)
// context.stroke();
//---文字---
context.setFillStyle("black")
context.setFontSize(22 * unit)
// 原来start --->
context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 776 * unit);
context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 826 * unit);
// <--- 原来end
// context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 816 * unit);
// context.setFontSize(18 * unit)
// context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 850 * unit);
//---二维吗图---
context.drawImage(vpath, 380 * unit, 736 * unit, 120 * unit, 120 * unit);
break;//普通商品的展示
case 4:
if(th.data.share_b_img && th.data.poster.show_quality==1 && type!=4){
var g_path = "../../../images/share/s_gou.png";
context.drawImage(g_path, 56 * unit, 660 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("正品保证", 84 * unit, 680 * unit);
context.drawImage(g_path, 218 * unit, 660 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("纯实体店", 246 * unit, 680 * unit);
context.drawImage(g_path, 388 * unit, 660 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("官方验证", 420 * unit, 680 * unit);
}
// 中间的几个字
if (th.data.poster && parseInt(th.data.poster.style) == 2) {
if (parseInt(th.data.poster.show_quality)) {
var g_path = "../../../images/share/s_gou.png";
context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("正品保证", 84 * unit, 690 * unit);
context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("纯实体店", 246 * unit, 690 * unit);
context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("官方验证", 420 * unit, 690 * unit);
}
} else {
var g_path = "../../../images/share/s_gou.png";
context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("正品保证", 84 * unit, 690 * unit);
context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("纯实体店", 246 * unit, 690 * unit);
context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("官方验证", 420 * unit, 690 * unit);
}
//---画线---
// context.setLineWidth(1 * unit)
// context.moveTo(32 * unit, 710 * unit)
// context.lineTo(520 * unit, 710 * unit)
// context.stroke();
//---文字---
context.setFillStyle("black")
context.setFontSize(22 * unit)
if (type == 0 || type == -1) {
// 原来start --->
context.setFontSize(24 * unit)
context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit);
context.setFontSize(22 * unit)
context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 806 * unit);
context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit);
} else {
context.setFontSize(24 * unit)
context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit);
context.setFontSize(22 * unit)
context.fillText("长按识别二维码", 40 * unit, 806 * unit);
context.fillText("立即开始兑换", 40 * unit, 846 * unit);
}
//---二维吗图---
//-- 自定义海报 --
if (th.data.share_b_img || th.data.poster) {
var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);
} else {
//---二维吗图---
context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit);
}
break;
case 1: //秒杀商品的展示
if(!th.data.share_b_img){
break
}
//---画线---
// context.setLineWidth(1 * unit)
// context.moveTo(32 * unit, 670 * unit)
// context.lineTo(520 * unit, 670 * unit)
// context.stroke();
//画秒杀的图片
if(th.data.is_share_text){
var miaos_path = '../../../images/share/miao_share.png';
context.drawImage(miaos_path, 43 * unit, 690 * unit, 222 * unit, 40 * unit);
}
context.setFillStyle("black")
context.setFontSize(24 * unit)
context.fillText(th.data.sto_sele_name_1, 40 * unit, 770 * unit);
//---文字---
context.setFontSize(22 * unit)
context.setFillStyle("black")
if(th.data.is_share_text){
context.fillText("特惠好物,限时秒杀", 40 * unit, 807 * unit);
}
context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 844 * unit);
//---二维吗图---
//-- 自定义海报 --
if (th.data.share_b_img || th.data.poster) {
var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit);
} else {
//---二维吗图---
context.drawImage(vpath, 390 * unit, 726 * unit, 135 * unit, 135 * unit);
}
break;
case 2: //会员团和商家团的展示
if(!th.data.share_b_img){
break
}
//---画线---
// context.setLineWidth(1 * unit)
// context.moveTo(32 * unit, 690 * unit)
// context.lineTo(520 * unit, 690 * unit)
// context.stroke();
//---文字---
context.setFillStyle("black")
context.setFontSize(24 * unit)
context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);
//绘制成团图片
var ct_img = "../../../images/share/ct_num.png";
context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit);
var ct_num = th.data.prom_act.ct_num;
context.setFontSize(14 * unit)
context.font = 'normal';
context.setFillStyle("red")
if (ct_num < 10) {
context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit);
} else {
context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit);
}
context.setFontSize(22 * unit)
context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit);
context.setFillStyle("gray")
context.fillText("快来和我一起拼团吧!", 40 * unit, 806 * unit);
context.setFillStyle("black")
context.font = 'normal bold 18px sans-serif';
context.setFontSize(21.3 * unit)
context.fillText("长按识别二维码,立即参团", 40 * unit, 836 * unit);
//---二维吗图---
//-- 自定义海报 --
if (th.data.share_b_img || th.data.poster) {
var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);
} else {
//---二维吗图---
context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit);
}
break
case 3: //阶梯团的展示
if(!th.data.share_b_img){
break
}
//---画线---
// context.setLineWidth(1 * unit)
// context.moveTo(32 * unit, 690 * unit)
// context.lineTo(520 * unit, 690 * unit)
// context.stroke();
//---文字---
context.setFillStyle("black")
context.setFontSize(24 * unit)
context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);
//---绘制中间阶梯的价格---
var list = th.data.prom_act.ct_rylist;
for (var i = 0; i < list.length; i++) {
var item = list[i];
var wi = i * 90 * unit;
context.font = 'normal';
context.setFontSize(16 * unit)
context.setFillStyle("red")
context.fillText("¥", 40 * unit + wi, 756 * unit);
context.setFontSize(22 * unit)
var pri = parseFloat(item.price).toFixed(2);
context.fillText(pri, 56 * unit + wi, 756 * unit);
context.setFillStyle("gray")
context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit);
}
//----------------下面部分----------------
context.setFillStyle("black")
context.fillText("快来和我一起拼团吧!", 40 * unit, 820 * unit);
//context.font = 'normal bold 18px sans-serif';
context.setFontSize(21 * unit)
context.fillText("长按识别二维码,立即参团", 40 * unit, 850 * unit);
//-- 自定义海报 --
if (th.data.share_b_img || th.data.poster) {
var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);
} else {
//---二维吗图---
context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit);
}
break
case -1: //秒杀商品的展示
//---画线---
// context.setLineWidth(1 * unit)
// context.moveTo(32 * unit, 670 * unit)
// context.lineTo(520 * unit, 670 * unit)
// context.stroke();
context.setFillStyle("black")
context.setFontSize(24 * unit)
context.fillText(th.data.sto_sele_name_1, 40 * unit, 744 * unit);
//---文字---
context.setFontSize(22 * unit)
context.setFillStyle("black")
context.fillText("长按识别二维码", 40 * unit, 800 * unit);
context.fillText("立即开始抢购", 40 * unit, 846 * unit);
//---二维吗图---
//-- 自定义海报 --
if (th.data.share_b_img || th.data.poster) {
var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit);
} else {
//---二维吗图---
context.drawImage(vpath, 390 * unit, 726 * unit, 135 * unit, 135 * unit);
}
break;
}
//--- 如果是自定义海报的时候 ---
if ( th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) {
if (th.data.poster && parseInt(th.data.poster.style) == 2) {
//如果显示会员信息的话
if (parseInt(th.data.poster.show_headpic)) {
//获取坐标
var x = parseFloat(th.data.poster.head_x) * 2;
var y = parseFloat(th.data.poster.head_y) * 2;
//---绘制圆形要放在最后----
context.save();
context.beginPath();
var h_x = x * unit;
var h_y = y * unit;
var h_r = 40 * unit;
var cx = h_x + h_r;
var cy = h_y + h_r;
context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
context.closePath();
context.fill();
context.clip();
context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
context.restore();
}
} else {
//---绘制圆形要放在最后----
context.save();
context.beginPath();
var h_x = 60 * unit;
var h_y = 24 * unit;
var h_r = 40 * unit;
var cx = h_x + h_r;
var cy = h_y + h_r;
context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
context.closePath();
context.fill();
context.clip();
context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
context.restore();
}
}
//-- 自定义的时候 --
if(th.data.share_b_img && act_time && th.data.poster.show_time){
context.setFillStyle("red")
getApp().draw_Text(context, act_time,38 * unit, 880 * unit, 200 * unit, 340 * unit, unit);
}
//把画板内容绘制成图片,并回调 画板图片路径
context.draw(false, function () {
setTimeout(function () {
wx.canvasToTempFilePath({
x: 0,
y: 0,
width: 750,
height: 1217,
destWidth: 1.2 * 750 * 750 / that.data.screenWidth,
destHeight: 1.2 * 1217 * 750 / that.data.screenWidth,
canvasId: 'share',
success: function (res) {
that.setData({
shareImgPath: res.tempFilePath,
canvasHidden: true
})
if (!res.tempFilePath) {
wx.showModal({
title: '提示',
content: '图片绘制中,请稍后重试',
showCancel: false
})
return false;
}
that.setData({
showPoster: true,
});
wx.hideLoading();
}
})
}, 500)
});
});
},
fail: function (res) {
console.log(res);
wx.hideLoading();
}
});
},
// ----视频图片----
// 图片计数器
swiperChange: function (e) {
var that = this;
if (e.detail.current > 0) {
that.setData({
hiddenn: 1,
videopicture: 1,
})
} else {
that.setData({
hiddenn: 0,
videopicture: 0,
})
}
if (e.detail.source == 'touch') {
that.setData({
current: e.detail.current
})
}
},
/*---视频相关--*/
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)
},
//加载更多是靠这个函数
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();
},
//--获取头像的本地缓存,回调写法--
get_head_temp: function (tt, func) {
var ee = this;
if (ee.data.share_head) {
tt(func);
return false;
}
//---获取分享图片的本地地址,头像和商品图片----
var path2 = getApp().globalData.userInfo.head_pic;
if (path2 == "") {
ee.data.share_head = "../../../images/share/hui_hear_pic.png";
tt(func);
} 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是网络图片的本地地址
ee.data.share_head = res.path;
tt(func);
},
fail: function (res) {
ee.data.share_head = "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的
tt(func);
}
});
}
},
//--获取商品图片的本地缓存,回调写法--
get_goods_temp: function (tt) {
var ee = this;
if (ee.data.share_goods_img) {
tt();
return false;
}
var img_url = ee.data.data.original_img;
if ((this.data.prom_type == 1 || this.data.prom_type == 6) && this.data.prom_act.share_imgurl) {
img_url = this.data.iurl + this.data.prom_act.share_imgurl;
}
//获取商品是分享图信息
wx.getImageInfo({
src: img_url,
success: function (res) {
//res.path是网络图片的本地地址
ee.data.share_goods_img = res.path;
tt();
},
fail: function (res) {
//获取默认空白图
wx.getImageInfo({
src: ee.data.iurl + '/miniapp/images/default_g_img.gif',
success: function (res) {
ee.data.share_goods_img = res.path; //分享的图片不能用网络的
tt();
}
})
}
});
},
//--外侧评价的点击效果---
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) {
var gid = e.currentTarget.dataset.gid;
var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gid;
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;
var ob = {};
ob[txt] = this.data.iurl + "/miniapp/images/default_g_img.gif";
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;
var ind = ee.currentTarget.dataset.ind;
var bconfig = th.data.bconfig;
//--先判断会员状态--
var user_info = getApp().globalData.userInfo;
if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
wx.navigateTo({
url: '/packageE/pages/togoin/togoin',
})
return false;
}
//如果开启了,则不在选择门店
if (this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store) {
return false;
}
if (!th.data.only_pk && !th.data.def_pickpu_list && !th.data.change) {
// getApp().confirmBox("门店库存不足", null, 25000, !1);
wx.showToast({
title: '门店库存不足',
icon: 'none',
});
return false;
}
th.data.change = 0;
if (th.data.only_pk && !th.data.only_pk.length) {
// getApp().confirmBox("门店库存不足", null, 25000, !1);
wx.showToast({
title: '门店库存不足',
icon: 'none',
});
return false;
}
if (th.data.def_pickpu_list && !th.data.def_pickpu_list.length) {
// getApp().confirmBox("门店库存不足", null, 25000, !1);
wx.showToast({
title: '门店库存不足',
icon: 'none',
});
return false;
}
//如果开启了,则不在选择门店
if (th.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store) {
return false;
}
if (bconfig && bconfig.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;
th.setData({
is_gps: 1
});
//th.onShow();
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
});
if (th.data.is_gps == 0) {
getApp().confirmBox("请开启GPS定位", null, 25000, !1);
}
} else {
th.setData({
is_gps: "3"
});
}
}
})
} else {
th.data.is_get_local_ok = 1;
th.get_sto(th.data.is_normal);
}
if (ind != undefined && ind != null) {
this.setData({
open_ind_store: ind,
store: 1,
openSpecModal: !1,
openSpecModal_pt: !1,
openSpecModal_flash_normal: !1,
})
} else {
this.setData({
store: 1,
openSpecModal: !1,
openSpecModal_pt: !1,
openSpecModal_flash_normal: !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
})
var openindstore = this.data.open_ind_store;
if (openindstore == 1) {
th.setData({
openSpecModal: !0,
openSpecModal_ind: openindstore,
});
} else if (openindstore == 2) {
th.setData({
openSpecModal: !0,
openSpecModal_ind: openindstore,
});
} else if (openindstore == 4) { //4就是拼团
th.setData({
openSpecModal_pt: 1, //打开拼团购买界面
store: 0, //关闭门店
choice_sort_store: 0, //关闭门店2级
sort_store: 0, //关闭门店2级
});
} else {
th.setData({
store: 0,
choice_sort_store: 0,
sort_store: 0
})
}
},
//选择更多门店
more_store: function () {
this.setData({
sort_store: 1
});
},
sort_store: function () {
},
// 返回按钮
returns: function () {
this.setData({
sort_store: 0,
choice_sort_store: 0
});
},
//---选择分类门店---
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
})
},
//如果开启线下库存,已经急速库存才会使用
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.sele_g.whsle_id || [1, 2, 4, 6, 8, 9].indexOf(th.data.prom_type) > -1 && !th.data.is_normal) {
func();
return false;
}
if (this.data.sales_rules == 1) {
func();
} else {
// if (plist && plist.CanOutQty - lock > 0) {
// item.CanOutQty = plist.CanOutQty - lock;
// func();
// return false;
// }
this.check_CanOutQty(goodsinfo, item, function (CanOutQty) {
// let str = item.pickup_name + '库存不足!';
if (!CanOutQty) {
wx.showToast({
title: item.pickup_name + '库存不足!',
icon: 'none',
});
return false;
}
item.CanOutQty = CanOutQty;
func();
});
}
},
//统一一下获取线下库存的函数
async check_CanOutQty(goodsinfo, item, func) {
var sales_rules = this.data.sales_rules;
var lock_rq = {
store_id: os.stoid,
wareId: goodsinfo.goods_id,
pageSize: 1000
};
if (sales_rules == 2) {
lock_rq.storageId = item.pickup_id
} else {
lock_rq.appoint_pick_keyid = encodeURIComponent(this.data.appoint_pick_keyid)
}
var lock = 0;
var CanOutQty = 0;
var plist = null;
//先读取门店的lock
await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
data: lock_rq
}).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;
}
})
var sto_req = {
wareIds: encodeURIComponent(goodsinfo.erpwareid),
storeId: os.stoid
}
if (sales_rules == 2) {
sto_req.storageNos = item.pickup_no
} else {
sto_req.storageIds = encodeURIComponent(this.data.appoint_pick_keyid)
}
//读取线下的门店库存
await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
data: sto_req
}).then(res => {
if (res.data.code == 0 && res.data.data.total > 0) {
plist = res.data.data.pageData[0];
}
})
if (plist && plist.CanOutQty - lock > 0) {
CanOutQty = plist.CanOutQty - lock;
}
if (func) func(CanOutQty);
},
//确定def_pick为选择的门店
sure_pick: function (e) {
var th = this;
var item = null;
var openindstore = parseInt(th.data.open_ind_store);
if (th.data.choice_sort_store == 0) {
var index = th.data.fir_pick_index;
if (th.data.is_show_sto_cat == 1) {
item = th.data.def_pickpu_list[index];
} else {
item = th.data.only_pk ? th.data.only_pk[index] : null; //当没有门店分类的时候
}
} else {
var index = th.data.sec_pick_index;
item = th.data.sec_sto.s_arr[index];
}
if (!item) return false;
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.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_distr: item.distr_type,
store: 0,
choice_sort_store: 0,
fir_pick_index: 0
});
switch (openindstore) {
case 1:
th.setData({
openSpecModal: !0,
openSpecModal_ind: openindstore,
});
break;
case 2:
th.setData({
openSpecModal: !0,
openSpecModal_ind: openindstore,
});
break;
case 4:
th.setData({
openSpecModal_pt: 1, //打开拼团购买界面
store: 0, //关闭门店
choice_sort_store: 0, //关闭门店2级
sort_store: 0, //关闭门店2级
});
break;
case 5:
th.setData({
openSpecModal_flash_normal: 1, //打开拼团购买界面
store: 0, //关闭门店
choice_sort_store: 0, //关闭门店2级
sort_store: 0, //关闭门店2级
});
break;
default:
th.setData({
store: 0,
choice_sort_store: 0,
sort_store: 0
})
break
}
//如果商品没有其他活动,要取一下线下价格
th.get_off_price();
})
},
//---点击二级之后的选择---
choose_for_store: function (e) {
var index_c = e.currentTarget.dataset.ind;
var th = this;
th.setData({
sec_pick_index: index_c,
fir_pick_index: index_c
})
},
//把选择的门店设置成默认的门店def_pick
set_def_pick: function (e) {
var th = this;
var item = null;
if (th.data.choice_sort_store == 0) {
var index = th.data.fir_pick_index;
if (th.data.is_show_sto_cat == 1) {
item = th.data.def_pickpu_list[index];
} else {
item = th.data.only_pk ? th.data.only_pk[index] : null; //当没有门店分类的时候
}
} else {
var index = th.data.sec_pick_index;
item = th.data.sec_sto.s_arr[index];
}
if (!item) return false;
//判断门店的配送方式是不是匹配
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.check_the_pick(item, function () {
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', {
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
});
var openindstore = th.data.open_ind_store;
if (openindstore == 1) {
th.setData({
openSpecModal: !0,
openSpecModal_ind: openindstore,
store: 0,
choice_sort_store: 0,
sort_store: 0,
});
} else if (openindstore == 2) {
th.setData({
openSpecModal: !0,
openSpecModal_ind: openindstore,
store: 0,
choice_sort_store: 0,
sort_store: 0,
});
} else if (openindstore == 4) { //4就是拼团
th.setData({
openSpecModal_pt: 1, //打开拼团购买界面
store: 0, //关闭门店
choice_sort_store: 0, //关闭门店2级
sort_store: 0, //关闭门店2级
});
} else {
th.setData({
store: 0,
choice_sort_store: 0,
sort_store: 0,
})
}
//如果商品没有其他活动,要取一下线下价格
th.get_off_price();
})
},
wait_for_store_config: function () {
var th = this;
//----获取系统参数-----
getApp().getConfig2(function (e) {
th.setData({
bconfig: e,
});
})
var t_time = setInterval(function () {
if (th.data.bconfig == null) false;
var e = th.data.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;
}
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();
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);
})
},
go_plus: function () {
getApp().goto("/pages/user/plus/plus");
},
go_card_info: function () {
getApp().goto("/packageE/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
});
}
},
//----跳转到搭配购买----
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:async function (gid, is_nor) {
var th = this;
var user_id = getApp().globalData.user_id;
if (!user_id) user_id = 0;
//普通购买的时候,重新算一下组合购有没有
if(is_nor){
var arr3=null;
var url = '/api/weshop/activitylist/listGoodActInfo2New';
var req_d = {
"store_id": os.stoid,
"goods_id": this.data.gid,
"user_id": user_id,
}
await getApp().request.promiseGet(url, {
data: req_d,
}).then(e=>{
if (e.data.code == 0 && e.data.data && e.data.data.length > 0) {
var arr = e.data.data;
if(arr.length){
arr3 = arr.filter(function (e) {
return e.s_time < ut.gettimestamp() && e.prom_type==7;
})
}
}
})
if(arr3 && arr3.length>0){
//获取活动信息
var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" +arr3[0].act_id + "/" + getApp().globalData.user_id;
await getApp().request.promiseGet(url, {
}).then(e=>{
if (e.data.code == 0 && e.data.data) {
if (ut.gettimestamp() < e.data.data.start_time) {
return false;
}
if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) {
//-- 获取商品列表 --
th.data.zh_act=e.data.data;
th.getUserBuyPromNum(e.data.data.id)
}
}
})
}
}
//调用接口判断订单优惠,
await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gid + "/0" + "/" + user_id, {
}).then(async res=>{
if (res.data.code == 0 && res.data.data) {
var r_data = res.data.data;
var max = 0, min = 0;
//暂时积分够 不和 优惠,阶梯重叠
if(th.data.zh_act){
r_data.collocationList=null;
r_data.ladderLists=null;
r_data.promGoodsLists=null;
}
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 (max < parseFloat(r_data.collocationList[i].price)) max = r_data.collocationList[i].price;
if (min > parseFloat(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);
//如果有搭配促销先不和 阶梯促销和优惠测序重合,做到后台可以重合
r_data.ladderLists=null;
r_data.promGoodsLists=null;
}
if (r_data.ladderLists) {
var act_id = r_data.ladderLists[0].form_id;
//-- 判断会员能不能参与阶梯促销 --
await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => {
if (res.data.code == 0 && res.data.data) {
var prom_content = "";
//暂定优惠促销还不能重叠
if(res.data.data.good_object==0 && (r_data.promGoodsLists || th.data.zh_act)){
return false;
}
if(res.data.data.good_object==1){
r_data.promGoodsLists=null;
}
for (let jj in r_data.ladderLists) {
if (r_data.ladderLists[jj].discount == 10) {
prom_content += "第" + (parseInt(jj) + 1) + "件原价,";
} else {
prom_content += "第" + (parseInt(jj) + 1) + "件" + r_data.ladderLists[jj].discount + "折,";
}
}
prom_content = ut.sub_last(prom_content);
th.data.prom_type = 10;
th.data.prom_id = act_id;
th.setData({
jieti_prom: prom_content,
ladder_act_id: act_id
})
}
})
}
//普通购买不在界面显示
if(is_nor){
th.data.collocationGoods=r_data.collocationPromList;
th.data.prom_goods=r_data.promGoodsLists;
}else{
th.setData({
order_prom: r_data.promOrder,
collocationGoods: r_data.collocationPromList,
prom_goods: r_data.promGoodsLists,
})
}
th.is_show_more_buy();
}
})
},
closePoster() {
this.setData({
showPoster: false,
});
},
// 保存图片到手机
savePic() {
getApp().savePic(this);
},
previewImage(e) {
this.data.show_prew_img = 1;
getApp().pre_img(this.data.sele_g.original_img);
},
is_show_more_buy: async 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).toFixed(2) + "件";
break;
}
} else {
if (parseFloat(item.condition) > parseFloat(parseFloat(all_price).toFixed(2))) {
con = item;
con.need = (item.condition - all_price).toFixed(2) + "元";
break;
}
}
}
//获取用户参与优惠促销的次数
if(con && con.prom_id){
await this.getUserBuyPromNum_pre(con.prom_id);
}
this.setData({
hui_condition: con
});
},
//-- 积分购 --
go_pay_integral: function () {
this.data.g_buy_num = new Map();
this.get_sto(0)
this.setData({
openSpecModal_inte: 1,
goodsInputNum: 1
});
},
//-- 积分购普通购买 --
go_pay_integral_normal: function () {
this.data.g_buy_num = new Map();
var th = this;
if (th.data.sku_g_pt) {
this.get_sto(1)
this.setData({
openSpecModal_inte_normal: 1
});
} else {
th.get_sto(1);
th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () {
th.setData({
is_normal: 1,
openSpecModal_inte_normal: 1
});
});
}
if (!th.data.sele_g.whsle_id) this.check_is_youhui(th.data.gid, 1);
},
closeSpecModal_inte: function () {
this.setData({
openSpecModal_inte: 0
});
},
closeSpecModal_inte_normal: function () {
this.setData({
openSpecModal_inte_normal: 0
});
//要进行还原
this.get_sto();
this.setData({
sele_g: this.data.data,
gid: this.data.data.goods_id
})
this.sele_spec_chech_activity();
},
addCart_inte: function (t) {
this.add_cart_func_inte(t);
},
onShareTimeline() {
getApp().globalData.no_clear = 1;
var th = this;
var store_name = getApp().globalData.config ? getApp().globalData.config.store_name : '';
if (!store_name)
store_name = getApp().globalData.setting.appName;
var url = "&goods_id=" +
th.data.sele_g.goods_id + "&prom_type=" + th.data.sele_g.prom_type + "&prom_id=" + th.data.sele_g.prom_id;
if (getApp().globalData.user_id) {
url += "&first_leader=" + getApp().globalData.user_id;
}
//-- 如果房间分享,且不是会员分享的 --
if (getApp().globalData.room_id &&
th.data.sele_g.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share
) {
url += "&room_id=" + getApp().globalData.room_id + "&room_user_share=1";
}
//群id分享
if (getApp().globalData.groupchat_id) {
url+="&groupchat_id="+getApp().globalData.groupchat_id
}
return {
title: this.data.data.goods_name + '-' + store_name,
imageUrl: this.data.gallery[0].image_url,
query: 'first_leader=' + user_id + url
}
},
clickCollapse() {
this.setData({
flag: !this.data.flag,
})
},
clickShare() {
if (!getApp().globalData.user_id) {
getApp().goto("/packageE/pages/togoin/togoin");
return false;
}
this.setData({
share_hidden: true,
});
},
send() {
this.setData({
share_hidden: false,
});
},
cancel() {
this.setData({
share_hidden: false,
});
},
//积分购和拼团的普通购买的的时候,要判断有没有全场优惠活动
check_nor_promgood(goods_id, back) {
var th=this;
var user_id=getApp().globalData.user_id;
//调用接口判断订单优惠,
getApp().request.get("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + goods_id + "/0" + "/" + user_id, {
success: async function (res) {
if (res.data.code == 0 && res.data.data) {
var obj = {};
var r_data = res.data.data;
//暂时积分够 不和 优惠,阶梯重叠
if(th.data.zh_act){
obj = {
act_id: th.data.zh_act.id,
prom_type:7
}
back(obj);
return false;
}
if (r_data.collocationList) {
obj = {
act_id: r_data.collocationList[0].prom_id,
prom_type:5
}
obj.is_coupon=r_data.collocationPromList.is_coupon;
back(obj);
return false;
}
var is_ok=1;
if (r_data.ladderLists) {
var act_id = r_data.ladderLists[0].form_id;
//-- 判断会员能不能参与阶梯促销 --
await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => {
if (res.data.code == 0 && res.data.data) {
var prom_content = "";
//暂定优惠促销还不能重叠
if(res.data.data.good_object==0 && (r_data.promGoodsLists || th.data.zh_act)){
return false;
}
if(res.data.data.good_object==1){
r_data.promGoodsLists=null;
}
obj = {
act_id: act_id,
prom_type:10
}
back(obj);
is_ok=0
return false;
}
})
}
if(!is_ok) return false;
if(r_data.promGoodsLists){
obj = {
act_id: r_data.promGoodsLists[0].prom_id,
prom_type:3
}
back(obj);
return false;
}
obj = {
act_id: 0,
prom_type:0
}
back(obj);
}
}
})
},
go_zh: function (e) {
var id = e.currentTarget.dataset.id;
getApp().goto("/packageB/pages/zuhegou/index/index?id=" + id);
},
check_zh_acting: function (func,item) {
var isok = 1;
if(!item){
item = this.data.sele_g;
}
//如果有组合购
var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item.prom_id + "/" + getApp().globalData.user_id;
getApp().request.promiseGet(url, {}).then(res => {
if (res.data.code == 0 && res.data.data) {
if (res.data.data.is_show != 1) {
isok = 0;
}
//如果活动已经结束
if (res.data.data.is_end == 1) {
isok = 0;
}
//已经结束
if (ut.gettimestamp() > res.data.data.end_time) {
isok = 0;
}
//还未开始
if (ut.gettimestamp() < res.data.data.start_time) {
isok = 0;
}
//还未开始
if (res.data.data.zh_num>0 && res.data.data.zh_num<=res.data.data.zh_buy_num ) {
isok = 0;
}
} else {
//未找到商品的活动
isok = 0;
}
item.act = res.data.data;
func(isok);
})
},
//获取更多秒杀
get_more_flahs: async function (func) {
var f_more = false;
var user_id = getApp().globalData.user_id;
if (!user_id) user_id = 0;
var url = "/api/weshop/goods/listSkuFlash?store_id=" + os.stoid + "&goods_id=" + this.data.data.goods_id + "&user_id=" + user_id;
//获取秒杀的多规格
await getApp().request.promiseGet(url, {}).then(res => {
if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
f_more = res.data.data;
}
})
if (!f_more) {
func(false);
return false;
}
//-- 秒杀的价格要更新 --
for (let i in f_more) {
let item = f_more[i];
f_more[i].prom_id = item.act_id;
f_more[i].prom_type = 1;
if (item.goods_id == this.data.data.goods_id) {
continue;
}
var url = "/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + item.act_id;
await getApp().request.promiseGet(url, {}).then(rs => {
if (rs.data.code == 0) {
f_more[i].price = rs.data.data.user_price;
}
})
}
func(f_more);
},
//-- 判断是否有秒杀 --
check_has_flash: function (gid) {
var th = this;
var url = "/api/weshop/activitylist/getGoodActInfo";
var user_id = getApp().globalData.user_id;
if (!user_id) user_id = 0;
if(!gid) gid=this.data.data.goods_id
var req_data = {
store_id: os.stoid,
goodsidlist: gid,
is_detail: 1,
user_id: user_id,
timetype:0
};
//获取秒杀的多规格
getApp().request.promiseGet(url, {
data: req_data
}).then(async function (res) {
if (res.data.code == 0 && res.data.data && res.data.data.length) {
var arr_data = res.data.data;
var new_arr = [];
for (let i in arr_data) {
let item = arr_data[i];
//找不到活动要剔除
if (!item.act_name) continue;
if ([1,2,4,6,8,9].indexOf(item.prom_type)==-1) continue;
new_arr.push(item);
}
// if (new_arr.length == 1) {
// th.data.prom_id = new_arr[0].act_id;
// th.data.prom_type = new_arr[0].prom_type;
// }
th.setData({
more_flash: new_arr
});
}
})
},
//-- 跳转到秒杀商品详情页 --
go_more_flash: function (e) {
var prom_id = e.currentTarget.dataset.id;
var prom_type = e.currentTarget.dataset.prom_type;
var goods_id = this.data.data.goods_id;
var url = "";
switch (parseInt(prom_type)){
case 1:
case 2:
case 4:
case 6:
url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + goods_id + "&prom_id=" + prom_id + "&prom_type="+prom_type;
break;
case 8:
url = "/packageC/pages/presell/goodsInfo/goodsInfo?goods_id=" + goods_id+ "&prom_id=" + prom_id;
break;
case 9:
url = "/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id=" + goods_id+ "&group_id=" + prom_id;
break;
}
getApp().goto(url);
},
close_pop_more: function () {
this.setData({
is_pop_more: 0
})
},
con_weixin: function () {
getApp().con_wx(this);
},
get_normal(gid) {
this.setData({
prom_type: 0,
isshow: 1,
});
this.get_sku(os.stoid, this.data.data, gid);
this.get_sto();
if (!this.data.data.whsle_id)
this.check_is_youhui(gid);
this.data.is_normal = 1;
},
// 促销 -> 送礼包 -> 查看详情
viewLbDetails(e) {
let id = e.currentTarget.dataset.id; // 获取礼包id
let flag = e.currentTarget.dataset.flag;
let url = '';
if (flag == 1) { // flag =1 控制跳转到专享礼包
url = `/pages/giftpack/giftpacklist/giftpacklist?lbId=${id}&flag=1`;
} else {
url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮
};
// console.log('myurl', url);
getApp().goto(url);
},
go_more_ladder: function (e) {
var prom_id = e.currentTarget.dataset.id;
getApp().goto("/pages/goods/goodsList/goodsList?ladder_id=" + prom_id);
},
getHistoryBuy() {
let _this = this;
let req_data = {
store_id: os.stoid,
goods_id: this.data.gid,
pay_status: 1,
rndid: 1
};
getApp().request.promiseGet('/api/weshop/ordergoods/list', {
data: req_data,
})
.then(res => {
if (t.ajax_ok(res)) {
_this.setData({
historyBuyInfo: res.data.data.pageData,
})
}
})
},
//-- 检验商品的活动情况 --
check_gd_prom_new: async function (func) {
if([1,2,4,6,8,9].indexOf(parseInt(this.data.prom_type))>-1 ){
func(); return false;
}
var th = this;
var user_id = getApp().globalData.user_id;
if (!user_id) user_id = 0;
var url = '/api/weshop/activitylist/listGoodActInfo2New';
var req_d = {
"store_id": os.stoid,
"goods_id": this.data.gid,
"user_id": user_id,
}
getApp().request.get(url, {
data: req_d,
success: function (e) {
if (e.data.code == 0 && e.data.data && e.data.data.length > 0) {
var arr = e.data.data;
let times = new Date().getTime();
arr.map(item=>{
//如果是积分购的话,要进行活动时间判断
if(item.prom_type==4){
let atimes= item.warm_uptime*1000
if(atimes > times){
item.prom_type=0
th.setData({
prom_type4:1
})
}
}
})
//-- 预热也要计算 --
var arr2 = arr.filter(function (e) {
return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime0){
th.data.has_jf=1;
}
if(arr3 && arr3.length>0){
//获取活动信息
var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" +
arr3[0].act_id + "/" + getApp().globalData.user_id;
getApp().request.get(url, {
success: function (e) {
if (e.data.code == 0 && e.data.data) {
if (ut.gettimestamp() < e.data.data.start_time) {
return false;
}
//判断组合购总数够不够
var is_has_zh_num=(!e.data.data.zh_num || e.data.data.zh_buy_num {
self.setData({
hiddenCS: false,
});
});
};
};
},
//关闭客服操作菜单
closeCS() {
this.setData({
hiddenCS: true,
});
},
//显示多赠品
show_zp: function (e) {
var prom_id = e.currentTarget.dataset.prom;
var index = e.currentTarget.dataset.index;
getApp().goto("/packageD/pages/gift/gift?prom_id=" + prom_id + "&index=" + index);
},
pre_gallery_img(e) {
this.data.show_prew_img = 1;
var index = e.currentTarget.dataset.index;
getApp().globalData.no_clear = 1;
var url = this.data.gallery[index].image_url;
var url_arr = [];
for (var i in this.data.gallery) {
url_arr.push(this.data.gallery[i].image_url)
}
wx.previewImage({
current: url, // 当前显示图片的http链接
urls: url_arr, // 需要预览的图片http链接列表
});
}
})