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,
gid: "",
stoid: o.stoid,
url: o.url,
resourceUrl: o.h5_url, //公众号那边的图片文件域名
iurl: o.imghost,
defaultAvatar: o.resourceUrl + "/static/images/user68.jpg",
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,
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拼单 9幸运购
prom_type: 9,
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,
showRules: false, // 控制规则显示与隐藏
showReward: false, //控制查看奖励显示与隐藏
typeArr: [{
key: 'point',
name: '积分',
}, {
key: 'grow',
name: '成长值',
}, {
key: 'point',
name: '优惠券',
}, {
key: 'prestore_name',
name: '项目服务',
}, {
key: 'prestore_money',
name: '预存金额',
}],
luckGoInfo: {},
showDetails: false,
num_success: 0, //成团已中商品数量
isTimeUp: false,
surplus: 0,
canBuy: false,
btnHidden: false,
hiddenCS: true,
is_get_guide:0,
},
//------初始化加载----------
onLoad: function (t) {
self = this;
// console.log('onload');
if (t && t.group_id) {
this.data.group_id = t.group_id;
};
//群id
if(t && t.groupchat_id){
getApp().globalData.groupchat_id=t.groupchat_id
}
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,
prom_id = t.group_id; //活动ID
var share_openid = t.share_openid;
if (prom_type) {
// this.data.prom_type = prom_type;
// this.data.prom_id = prom_id;
this.setData({
prom_type,
prom_id,
});
}
//检查测肤
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是空的话,分享回来--
// console.log('扫描海报gid');
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.setData({
// prom_type: prom_type,
// prom_id: prom_id,
// group_id: fir_arr[2],
// });
this.data.prom_type = prom_type;
this.data.prom_id = prom_id;
this.data.group_id = fir_arr[2];
}
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;
}
}
ee.setData({ gid: gid });
if (first_leader) {
getApp().globalData.first_leader = first_leader;
//调用接口判断是不是会员
getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
if (res.data.code == 0) {
getApp().globalData.guide_id = res.data.data.id;
getApp().globalData.guide_pick_id= res.data.data.pickup_id
}
})
}
//-- 如果有房间号 --
if (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;
}
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(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,
appoint_pick_keyid: json_d.appoint_pick_keyid
});
ee.init(gid);
//------几人评价-------
//n.init(th, "", "comments");
th.requestCardNum(), wx.pageScrollTo && th.setData({
supportPageScroll: !0
});
//计算等级价相关
var swithc_list = e.switch_list;
var sw_arr = JSON.parse(swithc_list);
//---如果后台又开等级卡的开关---
if (sw_arr.rank_switch && sw_arr.rank_switch == "2") {
th.setData({ rank_switch: true });
//---回调卡的列表---
th.getPlusCardType(function (ob) {
th.setData({ card_list: ob.card_list });
var ti = setInterval(function () {
var user = getApp().globalData.userInfo;
if (!user) return false;
clearInterval(ti);
if (user.card_field && user['card_expiredate']) {
var str = user['card_expiredate'].replace(/-/g, '/');
var end = new Date(str);
end = Date.parse(end) / 1000;
var now = ut.gettimestamp();
//--- 判断是等级会员,且在有效期范围内 ---
if (user.card_field && now < end) {
var card_name = ob.name_map.get(user.card_field);
//if(card_name.length>6) card_name=card_name.substring(0,6);
var is_near_date = 0;
if (end - now < 60 * 60 * 30 * 24) is_near_date = 1; //如果小于30天
th.setData({ card_field: user.card_field, card_name: card_name, card_list: ob.card_list, is_near_date: is_near_date });
}
}
}, 500)
})
}
}, 1);
//获取用户设备信息,屏幕宽度
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 }
});
//--先判断会员登陆状态--
var user_info = getApp().globalData.userInfo;
if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
getApp().is_Single_page(th, function () {
wx.navigateTo({
url: '/packageE/pages/togoin/togoin',
})
return false;
})
}
},
//-- 获取直播的分享人的导购信息 --
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 (!that.data.fir_goods.whsle_id && sales_rules >= 2) {
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];
// }
// 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;
})
}
//过滤不是本商品的单品优惠券-------------------
if(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 arr=[]
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;
}
})
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_sto(){
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, 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: async function () {
getApp().check_can_share(this);
// console.log('onshow');
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_sto();
})
// 判断活动是否暂停
//获取单个活动成团信息
await getApp().request.promiseGet('/api/weshop/prom/luckyActivity/page', {
data: {
store_id: o.stoid,
is_end: 0,
timetype: 1,
id: this.data.group_id,
}
}).then(res => {
// console.log()
// console.log('判断活动是否暂停=======》', res.data.data);
if (res.data.code == 0) {
if (res.data.data.pageData && res.data.data.pageData.length == 0) {
let obj = {
day: '00',
hou: '00',
min: '00',
sec: '00'
};
th.setData({
djs: obj,
isTimeUp: true,
});
} else {
th.setData({
luckGoInfo: res.data.data.pageData[0],
team_id: res.data.data.pageData[0].team_id,
luckGoMembers: [],
});
th.countDown(th.data.luckGoInfo.end_time, 0);
};
} else {
// this.data.isTimeUp = true;
th.setData({
isTimeUp: true,
});
};
});
// 活动暂停显示空白
if (this.data.isTimeUp) {
wx.showModal({
title: '提示',
content: '活动已经暂停',
showCancel: false,
success: function () {
wx.navigateBack();
}
})
return false;
}
//优惠券要实时更新
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();
i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, {
failRollback: !0,
success: function (t) {
console.log(t);
if (t.data.code == 0) {
if (t.data.data.is_on_sale != 1) {
wx.showModal({
title: '商品已经下架',
showCancel: !1,
complete: function () {
wx.navigateBack();
}
});
}
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000;
if (t.data.data.on_time > timestamp) {
wx.showModal({
title: '商品还未上架',
showCancel: !1,
complete: function () {
wx.navigateBack();
}
});
}
if (t.data.data.down_time > 0) {
if (t.data.data.down_time < timestamp) {
wx.showModal({
title: '商品已经到期下架',
showCancel: !1,
complete: function () {
wx.navigateBack();
}
});
}
}
//动态获取商品名称
wx.setNavigationBarTitle({
title: t.data.data.goods_name,
});
//-- 把商品的赋值 --
ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data));
if (ee.data.prom_type != 1 && ee.data.prom_type != 4 && ee.data.prom_type != 6 && ee.data.prom_type != 9)
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) {
//999
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 == 2 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5 || ee.data.data.prom_type == 7) {
//默认门店要拿下门店库存
// if (that.data.sales_rules == 2 && that.data.is_newsales_rules) {
// //获取门店
// ee.get_sto(1);
// } 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();
}
});
}
}
});
this.data.enterAddressPage && (this.data.enterAddressPage = !1);
//获取单个活动已成团数量
getApp().request.get(`/api/weshop/prom/luckyTeam/getCtNum/${o.stoid}/${this.data.group_id}`, {
success: function (res) {
if (res.data.code == 0) {
th.setData({
group_num: res.data.data,
});
}
}
});
//获取单个活动中奖记录
getApp().request.promiseGet('/api/weshop/prom/luckyOrder/page', {
data: {
store_id: os.stoid,
team_status: 2,
goods_id: this.data.gid,
rndid: 1,
}
}).then(res => {
if (res.data.code == 0) {
th.setData({
luckGoWinners: res.data.data.pageData,
});
}
});
//获取单个活动成团已中商品数量
let url_num_success = `/api/weshop/prom/luckyOrder/countActNum/${os.stoid}/${this.data.group_id}`;
getApp().request.get(url_num_success, {
success: function (res) {
if (res.data.code == 0) {
console.log('成团已中商品数量汇总', res.data.data);
th.setData({
num_success: res.data.data,
});
}
}
});
// 获取购买次数,判断是否已经超出限购
// {store_id}/{user_id}/{aid}
let get_aid = this.data.prom_id || this.data.luckGoInfo.id;
await getApp().request.get('/api/weshop/prom/luckyOrder/countActNum/' + os.stoid + '/' + oo.user_id + '/' + get_aid, {
success: function (res) {
if (res.data.code == 0) {
console.log(oo.user_id, '判断是否超出限购,获取购买次数', res,);
// th.setData({
// num_joined: res.data.data,
// });
let num_joined = res.data.data;
let group_join_num = th.data.luckGoInfo.group_join_num;
let canBuy = num_joined >= group_join_num ? false : true;
th.setData({
canBuy,
});
// console.log('canBuy', th.data.canBuy);
};
},
});
//获取参团成员
await getApp().request.promiseGet('/api/weshop/prom/luckyOrder/page', {
data: {
store_id: o.stoid,
team_id: th.data.team_id,
}
}).then(res => {
if (res.data.code == 0) {
// console.log(th.data.team_id,'参团成员===============》', res.data.data.pageData);
th.setData({
luckGoMembers: res.data.data.pageData,
});
}
});
var p1 = new Promise((resolve, reject) => {
// 检查幸运购活动商品库存
getApp().request.get("/api/weshop/activitylist/getActLen/" + o.stoid + "/9/" + this.data.group_id, {
success: function (res) {
//console.log('当前幸运购活动的剩余库存', res.data.data);
if (res.data.code == 0) {
th.setData({
// 剩余库存量
surplus: res.data.data,
});
};
resolve();
}
});
});
var p2 = new Promise((resolve, reject) => {
// 检查是否已经参团购买
getApp().request.get("/api/weshop/prom/luckyOrder/getUserOrderInfo/" + o.stoid + "/" + oo.user_id + "/" + this.data.group_id, {
success: function (res) {
console.log('当前幸运购活动是否已经参团', res.data.code);
if (res.data.code == 0) {
th.setData({
showDetails: true,
buyInfo: res.data.data,
});
} else {
th.setData({
showDetails: false,
});
};
resolve();
}
});
});
Promise.all([p1, p2]).then(res => {
th.setData({
btnHidden: true,
});
});
console.log('hidddddnnnnnnnn------>>>>', this.data.btnHidden, this.data.isTimeUp)
},
// 页面卸载
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();
},
// 点击评价选项卡下的各评价按钮
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
});
th.add_cart_func(t);
},
//-- 加入购物的函数 --
add_cart_func_inte: function (t) {
var i = getApp().request;
if (oo.user_id == null) {
return s.my_warnning("还未登录!", 0, this);
}
if (!getApp().globalData.userInfo) {
return s.my_warnning("还未登录!", 0, this);
}
var e = this,
th = e,
a = 0,
o = this.data.data;
a = o.goods_id;
//----------添加到购物车时,要判断限购数量,--------
e.get_buy_num(o, function (ee) {
//---判断商品是否超出限购---
if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) {
// wx.showModal({
// title: '提示',
// content: '超出商品限购'
// });
getApp().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.showModal({
// title: '提示',
// content: '超出商品活动限购'
// });
getApp().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 == 1) {
if (th.data.data.goods_id == getApp().globalData.room_goods_id) {
newd.room_id = getApp().globalData.room_id;
}
} else {
if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id;
}
//如果是积分够,is_integral_normal就要有积分购普通购买字段
//if(o.prom_type==4){
//newd.is_integral_normal=1;
//}
//-----如果是秒杀,团购,积分购,拼团-----
newd.prom_type = th.data.prom_type;
newd.prom_id = th.data.prom_id;
if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
th.add_cart_next(e, t, a, o, newd); //立即购买下一步
})
},
//-- 加入购物的函数 --
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.showModal({
// title: '提示',
// content: '超出商品限购'
// });
getApp().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.showModal({
// title: '提示',
// content: '超出商品活动限购'
// });
getApp().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.luckGoInfo.id,
// prom_type:th.data.sele_g.prom_type,
prom_type: 9,
};
//---是不是从收藏夹出来的---
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 == 1) {
if (th.data.data.goods_id == getApp().globalData.room_goods_id) {
newd.room_id = getApp().globalData.room_id;
}
} else {
if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id;
}
//如果是积分够,is_integral_normal就要有积分购普通购买字段
if (o.prom_type == 4) {
newd.is_integral_normal = 1;
}
//如果有线下取价
if (o.offline_price) {
newd.offline_price = o.offline_price;
newd.pricing_type = o.pricing_type;
}
//-----如果是秒杀,团购,积分购,拼团-----
if (th.data.prom_type == 1) {
newd.goods_price = th.data.prom_price;
newd.member_goods_price = th.data.prom_price,
newd.prom_type = th.data.prom_type;
newd.prom_id = th.data.prom_id;
if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
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) return s.my_warnning("库存已为空!", 0, th);
if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
return false;
} else {
//---如果是线下门店销售的时候---
if(!th.data.sele_g.whsle_id && th.data.sales_rules >= 2) {
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) {
// 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) {
// return s.my_warnning("库存不足!", 0, th);
// }
// th.add_cart_next(e, t, a, o, newd, CanOutQty - lock);
// } else {
// th.add_cart_next(e, t, a, o, newd, CanOutQty);
// }
// }
// })
// } else {
// return s.my_warnning("库存不足!", 0, th);
// }
//
// }
// }
// })
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) return s.my_warnning("库存已为空!", 0, th);
if (o.store_count < e.data.goodsInputNum) 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 || th.data.prom_type == 2 || th.data.prom_type == 4 || th.data.prom_type == 5) {
newd.prom_type = 0;
newd.prom_id = 0;
//---如果是线下门店销售的时候---
if(!th.data.sele_g.whsle_id && 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) return s.my_warnning("库存已为空!", 0, th);
if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
}
}
})
},
//---加入购物车的最后一步---
add_cart_next(e, t, a, o, newd, CanOutQty) {
var th = this, i = getApp().request;
//---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------
if ((o.prom_type != 1 || o.prom_id <= 0) && ((o.prom_type != 6 && o.prom_type != 4) || 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 (th.data.prom_goods) {
newd.prom_type = 3;
newd.prom_id = th.data.prom_goods[0].prom_id;
}
//----先看会员在购物车中是否加入了该商品-----
i.get("/api/weshop/cart/page", {
data: {
store_id: e.data.stoid,
user_id: oo.user_id,
goods_id: a,
pick_id: e.data.sto_sele_id,
},
success: function (re) {
//-------如果购物车中有相关的数据---------
if (re.data.data.total > 0) {
var item = re.data.data.pageData[0];
//判断数量,要看下购物车中有没有该商品
if (CanOutQty) {
if (item.goods_num + th.data.goodsInputNum > CanOutQty) {
return s.my_warnning("库存不足!", 0, th);
}
} else {
if (item.goods_num + th.data.goodsInputNum > o.store_count) {
return s.my_warnning("库存不足!", 0, th);
}
}
var updata = {
id: item.id,
goods_num: e.data.goodsInputNum + item.goods_num,
goods_price: newd.goods_price,
member_goods_price: newd.goods_price,
store_id: th.data.stoid,
};
//---是不是从收藏夹出来的---
if (th.data.c_guide_id) {
updata['guide_id'] = th.data.c_guide_id;
updata['guide_type'] = 3; //加入购物车之后就变成了3
} else {
if (getApp().globalData.guide_id) {
updata['guide_id'] = getApp().globalData.guide_id;
updata['guide_type'] = 0;
}
}
if(getApp().globalData.groupchat_id){
updata['groupchat_id'] = getApp().globalData.groupchat_id;
}
i.put("/api/weshop/cart/update", {
data: updata,
success: function (t) {
getApp().my_warnning('加入购物车成功', 1, th, 450);
var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
th.setData({
cartGoodsNum: c_num
});
th.closeSpecModal();
}
});
} else {
i.post("/api/weshop/cart/save", {
data: newd,
success: function (t) {
getApp().my_warnning('加入购物车成功', 1, th, 450);
var c_num = th.data.cartGoodsNum + e.data.goodsInputNum;
th.setData({
cartGoodsNum: c_num
});
th.closeSpecModal();
}
});
}
}
});
}
//else "exchange" == t.currentTarget.dataset.action ? this.exchange(d) : this.buyNow(d);
else {
if (th.data.prom_goods) {
var prom_d = th.data.prom_goods;
for (var i in prom_d) {
//判断活动有俩种条件,0元 1件
var condition_t = prom_d[i].prom_type;
switch (condition_t) {
case 0: //按钱
if (newd.goods_price >= condition_t) {
newd.prom_type = 9;
newd.prom_id = prom_d[i].prom_id;
}
break
case 1://按购买数量
if (newd.goods_num >= condition_t) {
newd.prom_type = 9;
newd.prom_id = prom_d[i].prom_id;
}
break;
}
}
}
newd['pick_name'] = th.data.sto_sele_name;
newd['pick_dis'] = th.data.sto_sele_distr;
th.buyNow(newd);
}
},
//----------购买虚拟商品------
buyVirtualGoods: function (e) {
Object.assign(e, {
goods_name: this.data.data.goods.goods_name,
spec_name: this.data.select.specName,
price: this.data.select.price
}), wx.navigateTo({
url: "/pages/virtual/buy_step/buy_step?" + t.Obj2Str(e)
});
},
//----------积分兑换---------
exchange: function (e) {
this.data.shippingCost < 0 || this.data.select.stock <= 0 || wx.navigateTo({
url: "/pages/cart/integral/integral?" + t.Obj2Str(e)
});
},
//----------立即购买-----------
buyNow: function (e) {
// this.data.shippingCost < 0 || this.data.select.stock <= 0 || (Object.assign(e, {
// action: "buy_now"
// }),
var th = this;
this.setData({
openSpecModal: 0,
openSpecModal_inte: 0,
openSpecModal_inte_normal: 0,
openSpecModal_pt: 0,
})
// if (e.prom_type == 9) {
// s.set_b_now(e);
// // var url = '';
// var url = "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id;
// getApp().goto(url);
// } else
// if(e.prom_type == 9){
if (true) {
//要判断积分购的普通购买有没有参加优惠活动
if (e.is_normal == 1) {
this.check_nor_promgood(e.goods_id, function (res) {
if (res && res.act_id) {
e.prom_type = res.prom_type;
e.prom_id = res.act_id;
} else {
e.prom_type = 0;
// e.prom_id = 0;
}
//-- 这一步主要是要让立即购买 走 购物车的逻辑 参与活动,如果有zh_act就强制组合购购买,要计算一下组合购的总数量 --
if(th.data.zh_act && (!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, {});
}
}
e.state = 1;
e.prom_type=0;
e.prom_id=0
getApp().request.post("/api/weshop/cart/save", {
data: e,
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/' + os.stoid + '/' + item_j.id;
getApp().request.delete(url, {});
}
}
e.state = 1;
e.prom_type=7;
e.prom_id=th.data.zh_act.id;
getApp().request.post("/api/weshop/cart/save", {
data: e,
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(e.prom_type==10){
//----先看会员在购物车中是否加入了该商品,立即购买的-----
getApp().request.get("/api/weshop/cart/page", {
data: {
store_id: e.store_id,
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, {});
}
}
e.state = 1;
getApp().request.post("/api/weshop/cart/save", {
data: e,
success: function (t) {
th.closeSpecModal();
getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");
}
});
}
})
return false;
}
s.set_b_now(e);
/*--
wx.redirectTo({
url: "?is_bnow=1&goods_id=" + e.goods_id,
});--*/
// console.log('11111111111111111111111111======》');
// getApp().goto("/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart?is_bnow=1&goods_id=" + e.goods_id);
//getApp().goto("/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart?is_bnow=1&group_id=" + th.data.group_id + "&goods_id=" + e.goods_id + "&alert=" + th.data.luckGoInfo.lc_alert);
getApp().goto("/packageE/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id)
})
} else {
//console.log('222222222222222222222222222222======》');
//s.set_b_now(e);
/*--
wx.redirectTo({
url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id,
});--*/
//getApp().goto("/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct?is_bnow=1&goods_id=" + e.goods_id)
// getApp().goto("/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct?is_bnow=1&group_id=" + this.data.group_id +"&goods_id=" + e.goods_id + "&alert=" + this.data.luckGoInfo.lc_alert);
}
}
},
//----------增加购买数量-----------
addCartNum: function (t) {
var add_num=1;
if(this.data.is_normal == 1){
add_num=getApp().get_limit_qty(this.data.sele_g,this.data.is_act,1);
}
this.checkCartNum(this.data.goodsInputNum + add_num);
},
//----------减少购买数量-----------
subCartNum: function (t) {
var add_num=1;
if(this.data.is_normal == 1){
add_num=getApp().get_limit_qty(this.data.sele_g,this.data.is_act,1);
}
this.checkCartNum(this.data.goodsInputNum - add_num);
},
//----------输入框输入购买数量-----------
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;
var mo_num=getApp().get_limit_qty(th.data.sele_g,th.data.is_act);
var steep=getApp().get_limit_qty(th.data.sele_g,th.data.is_act,1);
this.get_buy_num(this.data.sele_g, async function () {
var is_show_bs=0;
var l_num=-1;
//--判断商品是否超出限购--
if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
var gd_buy_num = th.data.g_buy_num.get(th.data.sele_g.goods_id);
if (t + gd_buy_num > th.data.sele_g.viplimited) {
// wx.showModal({
// title: '超出商品限购',
// });
getApp().my_warnning('超出商品限购', 0, th);
l_num = th.data.sele_g.viplimited - gd_buy_num;
if (l_num < 0) l_num = 0;
//th.setData({ goodsInputNum: num })
//return false;
is_show_bs=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.showModal({
// title: '超出商品活动限购',
// });
getApp().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.showModal({
// title: '超出商品活动库存',
// });
getApp().my_warnning('超出商品活动库存', 0, th);
th.setData({ goodsInputNum: redis_num })
return false;
}
}
var e = th.data.sele_g.store_count;
var p_type = parseInt(th.data.prom_type); //&& p_type!=1 && p_type!=4
if (!th.data.sele_g.whsle_id &&
th.data.sales_rules >= 2 && ( [1,2,4,6,8,9].indexOf(p_type)==-1 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) {
//-- 如果是虚拟商品,默认给最大值 --
if(getApp().is_virtual(th.data.sele_g)){
e =100000;
}else{
if (!th.data.def_pick_store) {
wx.showModal({ title: '请选择门店', });
return false;
} else {
e = th.data.def_pick_store.CanOutQty;
}
}
}
//-- 限购数量也要进行计算一下 --
if(l_num>-1){
if(e>l_num) e=l_num;
}
//提示了一个,就不要提示第二个
var is_show_bs=0;
//--- 促销活动也不控制起订量, 这里很重要的一个控制,起订量的 ----
if(th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1){
if(tmo_num && (t-mo_num)%steep!=0){
if(!is_show_bs) {
wx.showToast({
title: '购买数必须是起订量的倍数',
icon: 'none',
});
}
t=mo_num+ parseInt((t-mo_num)/steep)*steep+steep;
is_show_bs=1;
}
}
if (!e) e = 0;
//库存不足,不增加
if (e < t) {
if(!is_show_bs) wx.showModal({ title: '库存不足', });
if (e < 0) e = 0;
if(th.data.is_normal == 1){
if(emo_num && (e-mo_num)%steep!=0){
e=mo_num+ parseInt((e-mo_num)/steep)*steep;
}
}
th.setData({ goodsInputNum: e }); return false;
}
t > e || 0 == e ? t = e : t < 1 && (t = 1);
//只有普通商品才有起购数
if(th.data.is_normal == 1){
if(t 0) {
var gd_buy_num = th.data.g_buy_num.get(th.data.sele_g.goods_id);
if (t + gd_buy_num > th.data.sele_g.viplimited) {
// wx.showModal({
// title: '超出商品限购',
// });
getApp().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.showModal({
// title: '超出商品活动限购',
// });
getApp().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.showModal({
// title: '超出商品活动库存',
// });
getApp().my_warnning('超出商品活动库存', 0, th);
th.setData({ goodsInputNum: redis_num })
return false;
}
}
var e = th.data.sele_g.store_count;
var p_type = parseInt(th.data.prom_type); //&& p_type!=1 && p_type!=4
if (!th.data.sele_g.whsle_id &&
th.data.sales_rules >= 2 && ([1,2,4,6,8,9].indexOf(p_type)== -1 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) {
//-- 如果是虚拟商品,默认给最大值 --
if(getApp().is_virtual(th.data.sele_g)){
e=100000;
}else{
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.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;
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;
}
if (th.data.more_flash && open_store == 1) {
th.setData({ is_pop_more: 1 });
} else {
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();
})
}
},
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) {
callback();
} else {
//-- 判断有没有优惠活动 --
getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + th.data.sele_g.goods_id + "/0", {}).then(res => {
if (res.data.code == 0) {
var r_data = res.data.data;
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;
getApp().globalData.no_clear=1;
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";
// }
// 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;
// }
// var title = th.data.sele_g.goods_name;
// var img = th.data.sele_g.original_img;
// var url = `packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id=${th.data.sele_g.goods_id}&prom_type=9&group_id=${th.data.group_id}`; //当前页面url
// if (getApp().globalData.user_id) {
// url += "&first_leader=" + getApp().globalData.user_id;
// }
// console.log(url)
// var ob = {
// title: price + "元 " + title,
// path: url,
// imageUrl: img,
// };
// return ob;
var pagePath = `packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id=${this.data.sele_g.goods_id}&prom_type=9&group_id=${this.data.group_id}`; //当前页面url
// console.log('pagePath=====xxxxxx>', pagePath);
var imgPath = this.data.iurl + this.data.luckGoInfo.original_img;
if (pagePath.indexOf('/') != 0) {
pagePath = '/' + pagePath;
}
if(getApp().globalData.user_id){
if(pagePath.indexOf("?")>0){
pagePath+="&first_leader="+getApp().globalData.user_id;
}else{
pagePath+="?first_leader="+getApp().globalData.user_id;
}
}
//群id分享
if (getApp().globalData.groupchat_id) {
pagePath+="&groupchat_id="+getApp().globalData.groupchat_id
}
return {
title: "邀您一起参加幸运购",
path: pagePath,
imageUrl: imgPath,
}
},
//-----图片失败,默认图片-----
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'
}
}).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:
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:
continue;
case 8:
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, ee = this, th = this;
var gid = e.currentTarget.dataset.gid;
var nor = e.currentTarget.dataset.nor;
var sku_g = this.data.sku_g;
if (nor) {
sku_g = this.data.sku_g_pt;
}
var item = null;
for (var i in sku_g) {
if (sku_g[i].goods_id == gid) {
item = sku_g[i];
break
}
}
if (item) this.setData({
sele_g: item,
gid: gid
});
that.check_is_youhui(gid, that.data.is_normal);
this.get_sto(that.data.is_normal);
//默认门店要拿下门店库存
if (!getApp().is_virtual(item) && !item.whsle_id && that.data.sales_rules >= 2 && that.data.def_pick_store) {
var lock = 0, plist = null;
// //先读取门店的lock,采用链式写法,少用await
// getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
// data: { store_id: os.stoid, wareId: ee.data.sele_g.goods_id, storageId: that.data.def_pick_store.pickup_id, pageSize: 1000 }
// }).then(res => {
// if (res.data.code == 0 && res.data.data.total > 0) {
// for (var i in res.data.data.pageData)
// lock += res.data.data.pageData[i].outQty
// }
// //---通过接口获取门店的线下库存信息--
// return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
// data: { storageNos: that.data.def_pick_store.pickup_no, wareIds: encodeURIComponent(th.data.sele_g.erpwareid), storeId: os.stoid }
// })
// }).then(res => {
// if (res.data.code == 0 && res.data.data.total > 0) {
// plist = res.data.data.pageData[0];
// }
// if (plist && plist.CanOutQty - lock > 0) {
// that.data.def_pick_store.CanOutQty = plist.CanOutQty - lock;
// } else {
// that.data.def_pick_store.CanOutQty = 0;
// }
// //--给门店赋值线下库存--
// th.setData({ def_pick_store: that.data.def_pick_store });
// })
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();
},
//选择了不同的规格的时候要判断是不是有活动正在进行中
async sele_spec_chech_activity() {
//---如果是活动的时候---
var prom = null, goodsinfo = this.data.sele_g, th = this;
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;
}
})
}
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 (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;
}
})
}
//----------如果有活动,并且在进行中,就不计算线下库存---------------
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_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(th.data.luckGoInfo.end_time, 0);
} else {
if (endTime2 > newTime) {
th.setData({
prom_time_text: '距秒杀结束还有',
prom_st: 1
})
th.countDown(th.data.luckGoInfo.end_time);
}
}
}, 1000)
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) {
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) {
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;
}
if(getApp().is_virtual(th.data.sele_g) && th.data.sales_rules >= 2){
e.data.data.pageData[i].CanOutQty=100000;
}
}
e.his_cate_num = his_cate_num;
if(th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'
&& getApp().is_virtual(th.data.sele_g) && th.data.sales_rules >= 2)
{
th.setData({'def_pick_store.CanOutQty':100000})
}
//如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店
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 (!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id &&
th.data.sales_rules >= 2 && !th.data.is_newsales_rules && ([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,
is_show: 1,
pageSize: 1000,
orderField: "sort",
orderType: 'asc',
},
success: function (ee) {
if (ee.data.code == 0) {
if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
var def_arr = new Array();
var ishas = 0;
//-- 开始就看5个门店 --
for (var k = 0; k < 10; k++) {
if (k == e.data.data.pageData.length) break;
def_arr.push(e.data.data.pageData[k]);
}
th.setData({
def_pickpu_list: def_arr,
pickpu_list: ee.data.data.pageData
});
var sto_cate = ee.data.data.pageData;
var sto_arr = e.data.data.pageData;
var newarr = new Array();
var qita = new Array();
//----要进行门店分组--------
for (var i = 0; i < sto_arr.length; i++) {
//找一下这个门店有没有在分类数组内
var find2 = 0, find2name = "", sort = 0;
for (var m = 0; m < sto_cate.length; m++) {
if (sto_arr[i].category_id == sto_cate[m].cat_id) {
find2 = sto_cate[m].cat_id;
find2name = sto_cate[m].cat_name;
sort = sto_cate[m].sort;
break;
}
}
if (newarr.length > 0) {
var find = 0;
//如果有找到,那门店就在这个分组内,否则,分类就要排在其他
if (find2 != 0) {
for (var ii = 0; ii < newarr.length; ii++) {
if (sto_arr[i].category_id == newarr[ii].cat_id) {
newarr[ii].s_arr.push(sto_arr[i]);
find = 1;
break;
}
}
if (find == 0) {
var arr0 = new Array();
arr0.push(sto_arr[i]);
var item = {
cat_id: find2,
name: find2name,
sort: sort,
s_arr: arr0
};
newarr.push(item);
}
} else {
qita.push(sto_arr[i]);
}
} else {
//如果有找到,那门店就在这个分组内,否则,分类就要排在其他
if (find2 != 0) {
var arr0 = new Array();
arr0.push(sto_arr[i]);
var item = {
cat_id: find2,
name: find2name,
sort: sort,
s_arr: arr0
};
newarr.push(item);
} else {
qita.push(sto_arr[i]);
}
}
}
//门店分类要排序下
function compare(property) {
return function (a, b) {
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
if (newarr.length > 0)
newarr.sort(compare("sort"));
//----安排其他的分类-----
if (qita.length > 0) {
var item = {
cat_id: -1,
name: "其他",
s_arr: qita
};
newarr.push(item);
}
th.setData({
is_show_sto_cat: 1,
all_sto: newarr
});
} else {
th.setData({
is_show_sto_cat: -1,
only_pk: e.data.data.pageData
});
//-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
if (!th.data.def_pick_store) {
th.setData({ def_pick_store: e.data.data.pageData[0] })
}
}
} else {
th.setData({
is_show_sto_cat: -1,
only_pk: e.data.data.pageData
});
//-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
if (!th.data.def_pick_store) {
th.setData({ def_pick_store: e.data.data.pageData[0] })
}
}
}
});
} else {
th.setData({
is_show_sto_cat: 0,
only_pk: e.data.data.pageData
});
//-----如果没有默认门店,要取第一个门店作为默认店------
if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) {
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 plist = res.data.data.pageData;
var def_pick_store = th.data.def_pick_store;
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.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;
em.data.data.pageData = new_list;
//--如果找到默认门店,同时也应该判断配送方式对不对--
if (th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) {
th.data.fir_def_store.CanOutQty = 0;
//--当选择的门店是客户默认的门店的时候--
if (th.data.def_pick_store && th.data.fir_def_store.pickup_id == th.data.def_pick_store.pickup_id) {
th.setData({ def_pick_store: th.data.fir_def_store });
em.data.data.pageData.unshift(th.data.def_pick_store);
} else {
em.data.data.pageData.splice(1, 0, th.data.fir_def_store);
}
}
//---把数组组装进去---
th.deal_pickup(em);
} else {
th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null })
}
} else {
th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null })
}
})
},
find_lock_num(pick_id, lock) {
var lock_num = 0;
if (!lock) return 0;
if (lock.length < 0) return 0;
for (var i in lock) {
if (pick_id == lock[i].pickupId) {
lock_num += lock[i].outQty;
}
}
return lock_num;
},
//----------取货门店被点击的效果------
getmendian: function (t) {
this.setData({
ismend: 1,
});
},
//----------隐藏取货门店,选取门店----------
hidemend: function (e) {
var pid = e.target.dataset.p_id;
var pname = e.target.dataset.p_name;
var p_distr_t = e.target.dataset.p_dis;
this.setData({
ismend: 0,
is_sec_mend: 0,
sto_sele_id: pid,
sto_sele_name: pname,
sto_sele_distr: p_distr_t
});
},
//------显示取货2级----------
show_sec: function (t) {
var index = t.target.dataset.index;
var item = this.data.all_sto[index];
this.setData({
is_sec_mend: 1,
sec_sto: item
});
},
//------隐藏取货门店2级----
hide_sec_mend: function () {
this.setData({ is_sec_mend: 0, });
},
//评论的调用
requestComments_new: async function () {
var e = this, th = e, ee = e; var tp = e.data.activeCategoryId3;
var t = '/api/weshop/comment/pageComment?page=' + e.data.c_curr_p;
wx.showLoading();
var req_where = {
store_id: o.stoid, pageSize: 5, is_show: 1,
parent_id: 0, goods_id: th.data.gid, commenttype: tp,
}
if (getApp().globalData.userInfo) {
req_where.userId = getApp().globalData.user_id;
}
var rs_data = null;
await getApp().request.promiseGet(t, { data: req_where }).then(res => {
var tot = res.data.data.total;
e.data.c_curr_p++;
e.setData({
com_num: tot, //已经有加载
});
if (res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
rs_data = res.data.data.pageData;
} else {
th.setData({ comments_no_more: 1, auto: 1 });
}
})
if (rs_data) {
//var cda = th.data.comments;
var cda = rs_data, com_data = th.data.comments;
for (var ind in cda) {
var ep = cda[ind];
if (cda[ind].head_pic == '') {
cda[ind].head_pic = th.data.iurl + "/miniapp/images/hui_hear_pic.png";
}
if (ep.weapp_img != "" && ut.isString(ep.weapp_img)) {
cda[ind].weapp_img = JSON.parse(ep.weapp_img);
}
if (ep.img != "" && ut.isString(ep.img)) {
cda[ind].img = ut.unserialize(ep.img);
}
//--测量多有字的宽带,计算有多少行--
var widh = ut.measureText(ep.content, 30);
var lines = widh / 712;
cda[ind].seeMore = false;
if (lines > 3) cda[ind].seeMore = true;
await getApp().request.promiseGet("/api/weshop/comment/pageComment", {
data: { store_id: o.stoid, parent_id: ep.comment_id }
}).then(res => {
if (res.data.data.pageData && res.data.data.pageData.length > 0) {
cda[ind].replay_list = res.data.data.pageData;
}
})
}
if (!com_data) com_data = cda;
else com_data = com_data.concat(cda);
th.setData({ comments: com_data });
}
th.setData({ get_c: 1 });
wx.hideLoading();
},
//加载更多是靠这个函数
onReachBottom: function () {
if (this.data.activeCategoryId == 2) {
if (!this.data.comments_no_more) this.requestComments_new();
}
var goods_list = this.selectComponent("#goods_list"); //组件的id
if (goods_list) goods_list.get_list();
},
//--------检查是否活动,活动是否开始,或者是否结束-------
async check_prom(gid, prom_type, prom_id) {
var ee = this, th = ee;
var user_id = getApp().globalData.user_id;
if (!user_id) user_id = 0;
if (prom_type == 3 || prom_type == 0 || prom_type == 2 || prom_type == 5 || prom_type == 7 || prom_type == 9) {
this.setData({
prom_type: 0, isshow: 1,
});
return false;
}
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();
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.setData({
prom_type: 0,
isshow: 1,
});
ee.get_sku(os.stoid, ee.data.data, gid);
return false;
}
//----已经结束-----
if (t.data.data.is_end == 1) {
ee.setData({
prom_type: 0,
isshow: 1,
});
ee.get_sku(os.stoid, ee.data.data, gid);
ee.get_sto();
return false;
}
//----已经过期-----
var now = ut.gettimestamp();
if (t.data.data.end_time < now) {
ee.setData({
prom_type: 0,
isshow: 1,
});
ee.get_sku(os.stoid, ee.data.data, gid);
return false;
}
/*-- 还没有开始预热的也不显示 --*/
if (t.data.data.show_time > now) {
ee.setData({
prom_type: 0,
isshow: 1,
});
ee.get_sku(os.stoid, ee.data.data, gid);
ee.get_sto();
return false;
}
var t_gd = ee.data.data;
var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss");
var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss");
ee.setData({
prom_price: t.data.data.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;
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
// }
// var integrals = 0;
// var get_datas = {
// user_id: getApp().globalData.user_id, store_id: o.stoid,
// };
// await getApp().request.promiseGet("/api/weshop/users/getAllPoints", {
// data: get_datas
// }).then(res => {
// if (res.data.code == 0) {
// integrals = res.data.data.Integral;
// }
// })
// //获取一下积分活动
// await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList", {
// data: rdata
// }).then(res => {
// //调用接口有数据的时候
// if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
// var inte_data = res.data.data.pageData[0];
// var can_integral = (parseFloat(integrals) >= parseFloat(inte_data.integral));
// ee.setData({
// prom_price: parseFloat(inte_data.addmoney),
// prom_integral: parseFloat(inte_data.integral),
// prom_type: 4,
// prom_id: inte_data.id,
// prom_buy_limit: inte_data.limitvipqty,
// prom_act: inte_data,
// isshow: 1,
// can_integral: can_integral,
// is_shopbuy: parseInt(inte_data.is_shopbuy ? inte_data.is_shopbuy : 0)
// });
// ee.get_sto();
// } else {
// ee.setData({ prom_type: 0, isshow: 1, });
// ee.get_sku(os.stoid, ee.data.data, gid);
// ee.get_sto();
// return false;
// }
// })
// }
//---判断拼单----
// if (prom_type == 6) {
// //-------判断活动是否抢光---------
// await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
// 1: 1
// }).then(res => {
// console.log(res,3114);
// var em = res;
// if (em.data.code == 0) {
// if (em.data.data <= 0) ee.setData({
// prom_r_null: 1
// });
// //拿取价格并且判断时间--
// getApp().request.get("/api/weshop/teamlist/get/" +
// os.stoid + "/" + prom_id, {
// success: function (t) {
// console.log(t,3124);
// if (t.data.code != 0) {
// ee.setData({
// prom_type: 0,
// isshow: 1,
// });
// ee.get_sku(os.stoid, ee.data.data, gid);
// ee.get_sto();
// return false;
// }
// //----已经结束-----
// if (t.data.data.is_end == 1) {
// ee.setData({
// prom_type: 0,
// isshow: 1,
// });
// ee.get_sku(os.stoid, ee.data.data, gid);
// return false;
// }
// //----已经过期-----
// var now = ut.gettimestamp();
// if (t.data.data.end_time < now) {
// ee.setData({
// prom_type: 0,
// isshow: 1,
// });
// ee.get_sku(os.stoid, ee.data.data, gid);
// ee.get_sto();
// return false;
// }
// /*-- 还没有开始预热的也不显示 --*/
// if (t.data.data.show_time > now) {
// ee.setData({
// prom_type: 0,
// isshow: 1,
// });
// ee.get_sku(os.stoid, ee.data.data, gid);
// ee.get_sto();
// 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
// ee.setData({
// prom_type: 0,
// isshow: 1,
// });
// ee.get_sku(os.stoid, ee.data.data, gid);
// ee.get_sto();
// return false;
// }
// //-------查看自己是不是有买过该团的商品,并还为支付,或者在进行中-------
// getApp().request.get("/api/weshop/order/page", {
// data: {
// pt_prom_id: prom_id,
// user_id: oo.user_id,
// store_id: os.stoid,
// pageSize: 1,
// page: 1
// },
// success: function (e) {
// if (e.data.code == 0 && e.data.data.pageData.length > 0) {
// var odr = e.data.data.pageData[0];
// th.data.buy_order = odr;
// if (odr.pt_status == 0 && odr.order_status == 1) {
// th.setData({
// user_order_pt_state: 1
// });
// }
// if (odr.pt_status == 1 && odr.order_status == 1) {
// if (odr.is_zsorder == 4) {
// getApp().request.promiseGet("/api/weshop/teamgroup/page/", {
// data: {
// store_id: os.stoid,
// team_id: odr.pt_prom_id,
// listno: odr.pt_listno
// }
// }).then(res => {
// var now = ut.gettimestamp();
// if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
// var tgr = res.data.data.pageData[0];
// //如果团的时间已经到了
// if (now >= tgr.kt_end_time) {
// th.update_jiti(tgr.id);
// } else {
// th.setData({
// user_order_pt_state: 2
// });
// }
// }
// })
// } else {
// th.setData({
// user_order_pt_state: 2
// });
// }
// }
// if (odr.pt_status == 2 && odr.is_zsorder == 4) {
// th.setData({
// user_order_pt_state: 3,
// });
// th.data.wk_order_id = odr.order_id;
// }
// }
// },
// });
// //----------查看阶梯团------------
// if (t.data.data.ct_rylist != "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 = [],
th = this,
grounp_tatal = 0;
//如果活动是开团不是商家团
if (this.data.prom_act.kttype > 1) {
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 => {
teamgroup = res.data.data.pageData;
grounp_tatal = res.data.data.total;
})
//获取订单的总数这个接口不能用
for (i = 0; i < teamgroup.length; i++) {
await getApp().request.promiseGet("/api/weshop/order/page", {
data: {
store_id: os.stoid,
pt_status: 1,
pt_listno: teamgroup[i].listno
}
}).then(res => {
var order = res.data.data.pageData;
teamgroup[i].open_num = order.length;
})
await getApp().request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + teamgroup[i].openvipid, {}).then(res => {
var user = res.data.data;
teamgroup[i].user = user;
})
}
if (teamgroup.length > 0) {
th.setData({
teamgroup: teamgroup,
grounp_tatal: grounp_tatal
});
th.countDown2();
}
}
},
//---小于10的格式化函数----
timeFormat(param) {
return param < 10 ? '0' + param : param;
},
//----倒计时函数-----
countDown(time, prom_st) {
if (!this.data.is_timer) return false;
var th = this;
// 获取当前时间,同时得到活动结束时间数组
var endTime = time;
var newTime = ut.gettimestamp();
// 对结束时间进行处理渲染到页面
var obj = null;
// 如果活动未结束,对时间进行处理
if (endTime - newTime > 0) {
var time = (endTime - newTime);
// 获取天、时、分、秒
var day = parseInt(time / (60 * 60 * 24));
var hou = parseInt(time % (60 * 60 * 24) / 3600);
var min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
obj = {
day: this.timeFormat(day),
hou: this.timeFormat(hou),
min: this.timeFormat(min),
sec: this.timeFormat(sec)
}
// console.log('cd');
} else {
obj = {
day: '00',
hou: '00',
min: '00',
sec: '00'
}
th.setData({
djs: obj,
isTimeUp: true,
});
// console.log('i am here');
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 (gd.prom_type == 1 || gd.prom_type == 2 || gd.prom_type == 4 || gd.prom_type == 6) {
//----获取活动购买数----
getApp().request.get("/api/weshop/ordergoods/getUserBuyGoodsNum", {
data: {
store_id: os.stoid,
user_id: user_id,
goods_id: gd.goods_id,
prom_type: gd.prom_type,
prom_id: gd.prom_id
},
//-----获取-----
success: function (tt) {
if (tt.data.code == 0) {
map.set(gd.goods_id, g_buy_num);
th.setData({
g_buy_num: map,
prom_buy_num: tt.data.data.goodsbuynum,
});
"function" == typeof func && func();
}
}
});
} else {
map.set(gd.goods_id, g_buy_num);
th.setData({
g_buy_num: map
});
"function" == typeof func && func();
}
}
}
});
}
},
//--拼单推荐的显示---
tj_Click: function (e) {
var ind = parseInt(e.target.dataset.ind);
this.setData({
is_show_gz: ind
});
},
//--------拼团玩法显示详情--------
show_pt_xx: function (e) {
this.setData({
pd_xx: 1,
})
},
close_pt_xx: function () {
this.setData({
pd_xx: 0,
})
},
//--点击弹起拼单--
// ind == 1 为普通购买
openSpecModel_pt: function (e) {
this.setData({ open_ind_store: 9 });
// 判断是否有待支付订单
var aid = this.data.group_id;
var switOn = true;
s.request.promiseGet('/api/weshop/prom/luckyOrder/page', {
data: {
store_id: os.stoid,
user_id: oo.user_id,
aid: aid,
pay_status: 0, // 未支付
order_status: 0, // 待支付
pageSize: 1,
page: 1
}
}).then(res => {
if (res.data.code == 0) {
if (res.data.data.total > 0) {
// 待支付订单页面
wx.showModal({
title: "您已经购买了该商品待支付中",
success: function (a) {
if (a.confirm) {
switOn = false;
wx.navigateTo({
url: "/packageC/pages/luckyGo/luckyGo_order/luckyGo_order?order_id=" + res.data.data.pageData[0]['order_id']
});
}
}
});
} else {
//--先判断会员状态--
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.ind);
//ind == 1是普通购买
if (ind == 1) {
//如果拼单的sku data是空的,就要先获取一下
if (th.data.sku_g_pt) {
th.get_sto(1);
th.setData({
is_normal: ind,
openSpecModal_pt: 1
});
} else {
th.get_sto(1);
th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () {
th.setData({
is_normal: ind,
openSpecModal_pt: 1
});
});
th.setData({
is_normal: ind,
openSpecModal_pt: 1
});
};
th.check_is_youhui(th.data.gid, 1);
} else {
// //拼单商品从这里进,先判断有没有买过商品,
// getApp().request.get("/api/weshop/order/page", {
// data: {
// // pt_prom_id: th.data.prom_act.id,
// user_id: oo.user_id,
// store_id: os.stoid,
// pageSize: 1,
// page: 1
// },
// success: function (e) {
// //--跳转到已经购买的情况--
// if (e.data.data.pageData.length > 0) {
// var odr = e.data.data.pageData[0];
// //还未支付
// if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) {
// wx.showModal({
// title: "您已经购买了该商品待支付中",
// success: function (a) {
// if (a.confirm) {
// wx.navigateTo({
// url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id,
// });
// }
// }
// });
// } else if (odr.pt_status == 1 && odr.order_status == 1) {
// if (this.data.is_go_to_team_show) return false;
// this.data.is_go_to_team_show = 1;
// wx.showLoading();
// /*---
// wx.redirectTo({
// url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn,
// });--*/
// 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
// });
// }
// }
// });
th.data.prom_type=9;
th.get_sto();
th.setData({
is_normal: 0,
openSpecModal_pt: 1,
goodsInputNum:1
});
}
}
}
});
},
//-----------------拼单生成方法---------------------
addCart_pt: function () {
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;
// }
this.addcart_pt_func();
} else {
this.addcart_pt_func();
}
},
addcart_pt_func: function () {
if (oo.user_id == null) {
s.my_warnning("还未登录!", 0, this);
return;
}
var e = this,
th = e,
o = this.data.sele_g;
// if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
//----------添加到购物车时,要判断限购数量,--------
e.get_buy_num(o, async function (ee) {
//---判断商品是否超出限购---
if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) {
wx.showModal({
title: '提示',
content: '超出商品限购'
});
var num = th.data.prom_buy_limit - th.data.prom_buy_num;
if (num < 0) num = 0;
th.setData({goodsInputNum: num})
return false;
}
}
var redis_num = 0
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 == 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 && 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;
}
}
}
//---如果是线下门店销售的时候---
if (th.data.sales_rules >= 2 && !th.data.sele_g.whsle_id) {
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.by_next_func(newd);
} 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.by_next_func(newd);
}
return false;
}
//-----如果是秒杀,团购,积分购,拼团,且不是普通购买-----
if (th.data.prom_type == 9 && 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;
// }
th.by_next_func(newd);
}
)
},
by_next_func(newd){
var th=this;
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.buyNow(newd);
}
else {
// 点击立即参团
th.buyNow_pt(newd);
}
},
//统一一下获取线下库存的函数
async check_CanOutQty(goodsinfo, item, func) {
var sales_rules = this.data.sales_rules;
//如果默认是商品
if(getApp().is_virtual(goodsinfo)){
return func(100000);
}
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);
},
//----------立即购买_pt-----------
buyNow_pt: function (e) {
s.set_b_now(e);
wx.navigateTo({
url: "/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct?is_bnow=1&group_id=" + this.data.group_id + "&goods_id=" + e.goods_id + "&alert=" + this.data.luckGoInfo.lc_alert + '&goods_price=' + this.data.luckGoInfo.group_price / 100 + '&is_show=' + this.data.luckGoInfo.is_show,
});
// getApp().goto("/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart?is_bnow=1&group_id=" + th.data.group_id +"&goods_id=" + e.goods_id + "&alert=" + th.data.luckGoInfo.lc_alert);
},
//-------跳转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);
},
//---拼团倒计时---
countDown2() {
if (!this.data.is_timer) return false;
var th = this;
// 获取当前时间,同时得到活动结束时间数组
var newTime = ut.gettimestamp();
var List = th.data.teamgroup;
for (var j = 0; j < List.length; j++) {
// 对结束时间进行处理渲染到页面
var endTime = List[j].kt_end_time;
let obj = null;
// 如果活动未结束,对时间进行处理
if (endTime - newTime > 0) {
let time = (endTime - newTime);
// 获取天、时、分、秒
let day = parseInt(time / (60 * 60 * 24));
let hou = parseInt(time % (60 * 60 * 24) / 3600);
let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
obj = {
day: this.timeFormat(day),
hou: this.timeFormat(hou),
min: this.timeFormat(min),
sec: this.timeFormat(sec)
}
} else {
//活动已结束,全部设置为'00'
obj = {
day: '00',
hou: '00',
min: '00',
sec: '00'
}
}
var txt = "timer[" + j + "]";
th.setData({
[txt]: obj
});
}
setTimeout(th.countDown2, 1000);
},
//跳转参加团
go_cj_team: function (e) {
var ind = e.currentTarget.dataset.ind;
var item = this.data.teamgroup[ind];
var id = item.id;
var th = this;
getApp().request.get("/api/weshop/order/page", {
data: {
pt_prom_id: item.team_id,
user_id: oo.user_id,
store_id: os.stoid,
pageSize: 1,
page: 1
},
success: function (e) {
if (e.data.code != 0) {
getApp().my_warnning("读取订单失败", 0, th);
return fasle;
}
//--跳转到已经购买的情况--
if (e.data.data.pageData.length > 0) {
var odr = e.data.data.pageData[0];
//还未支付
if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) {
wx.showModal({
title: "您已经购买了该商品待支付中",
success: function (a) {
if (a.confirm) {
wx.navigateTo({
url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id,
});
}
}
});
} 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 {
wx.navigateTo({
url: "/pages/team/team_show/team_show?tg_id=" + id,
});
}
}
//--跳转到参团--
else {
wx.navigateTo({
url: "/pages/team/team_show/team_show?tg_id=" + id,
});
}
}
})
},
//跳到团更多
go_t_more: function () {
var team_id = this.data.prom_id;
wx.navigateTo({
url: "/pages/team/team_more/team_more?team_id=" + team_id,
});
},
//--点赞功能--
click_zan: function (e) {
var com_id = e.currentTarget.dataset.com_id;
var item_id = e.currentTarget.dataset.item_id;
var app = getApp(),
th = this;
if (app.globalData.userInfo == null || app.globalData.userInfo == undefined) {
app.confirmBox("您还未登录");
return false;
}
var iszan = th.data.comments[item_id].userZanNum;
if (this.data.iszaning) return false;
this.data.iszaning = 1;
app.request.post("/api/weshop/commentZan/save", {
data: {
store_id: o.stoid,
user_id: app.globalData.user_id,
goods_id: th.data.gid,
comment_id: com_id
},
success: function (ee) {
if (ee.data.code == "-1") {
app.my_warnning("不能给自己点赞", 0, th);
th.data.iszaning = 0;
return;
}
if (ee.data.code == 0 && iszan != 1) {
var num = th.data.comments[item_id].zan_num;
num++;
var text = "comments[" + item_id + "].zan_num";
var text1 = "comments[" + item_id + "].userZanNum";
var _errObj = {};
_errObj[text] = num;
_errObj[text1] = 1;
th.setData(_errObj);
} else {
var num = th.data.comments[item_id].zan_num;
num--;
var text = "comments[" + item_id + "].zan_num";
var text1 = "comments[" + item_id + "].userZanNum";
var _errObj = {};
_errObj[text] = num;
_errObj[text1] = 0;
th.setData(_errObj);
}
setTimeout(function () {
th.data.iszaning = 0;
}, 500)
}
})
},
/*----券的开关---*/
switchCoupon: async function (event) {
var coupon = event.currentTarget.dataset.coupon;
var app = getApp();
var url = "/api/weshop/prom/coupon/pageCouponList";
var quan_list = this.data.quan_list;
var th = this;
//当开启,且列表为空的情况下要
if (!quan_list && coupon == "1") {
wx.showLoading();
await app.request.promiseGet(url, {
data: {
store_id: os.stoid,
type: 1,
pageSize: 100,
page: 1,
user_id: app.globalData.user_id,
is_share: 0
}
}).then(res => {
wx.hideLoading();
quan_list = res.data.data.pageData;
})
//过滤不是本商品的单品优惠券
if (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 = ut.formatTime(ep.use_start_time, "yyyy-MM-dd");
var end = ut.formatTime(ep.use_end_time, "yyyy-MM-dd");
start = start.replace("00:00:00", "");
end = end.replace("00:00:00", "");
quan_list[ind].start = start;
quan_list[ind].end = end;
}
}
th.setData({
coupon: coupon,
quan_list: quan_list
});
} else {
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) {
// 1.灰色背景
context.setFillStyle('#f2f1f6');
context.rect(0, 0, 554 * unit, 899 * unit);
context.fill();
// 2.商城名称
let shopName = this.data.sto_sele_name_1;
// let shopNameLen = context.measureText(shopName);
// let x_shopNameLen = (554 - shopNameLen.width)/2*unit;
// console.log('11111111111111',shopNameLen,x_shopNameLen);
context.setTextAlign('center');
context.setFontSize(26 * unit);
context.setFillStyle('black');
context.fillText(shopName, 277 * unit, 60 * unit);
// // 3.推荐来源
let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`;
// let fromTextLen = context.measureText(fromText);
// let x_fromText = (375 - fromTextLen.width)/2;
// console.log('222222',fromTextLen,x_fromText);
context.setTextAlign('center');
context.setFontSize(22 * unit);
context.setFillStyle('#96959a');
context.fillText(fromText, 277 * unit, 105 * unit);
// 4.海报背景
// context.beginPath();
// context.setStrokeStyle('#f2f1f6');
context.setFillStyle('white');
context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit);
// context.stroke();
// context.fill();
// 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.强烈推荐
// context.beginPath();
let tj_path = "../../../../images/share/q_tj.png";
context.beginPath()
context.drawImage(tj_path, 54 * unit, 648 * unit, 85 * unit, 30 * unit);
context.setFontSize(16 * unit)
context.setLineJoin('round'); //交点设置成圆角
context.setFillStyle("white")
context.setTextAlign('left');
context.fillText('强烈推荐', 64 * unit, 672 * unit);
// 7.商品价格
let price = '¥' + parseFloat( this.data.luckGoInfo.group_price/100).toFixed(2);
context.setFontSize(32 * unit);
context.setFillStyle('#DE1117');
context.fillText(price, 54 * unit, 730 * unit);
//-- 零售价的优化 --
var wp= 60 * unit+ut.measureText( price, 32 * unit);
var hp=730 * 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, 770 * unit, 240 * unit, 240 * unit, unit);
// 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;
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阶梯团 9幸运购
var type = 9;
var th=this;
if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3;
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.luckGoInfo.id;
// 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=packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo";
console.log('path3......', 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);
if (!th.data.share_b_img) { // 如果是普通商品,绘制新海报
th.drawPoster(context, unit, th.data.share_goods_img, vpath);
} else {
context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
};
//-- 是自定义海报的情况下 --
if (th.data.share_b_img ) {
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, 60 * unit);
// var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit;
//强烈推荐 改许程
// var tj_path = "../../../../images/share/q_tj.png";
// let txt_gn = th.data.luckGoInfo.group_num + '人团';
// let width_gn = ut.measureText(txt_gn, 15);
// context.drawImage(tj_path, 152 * unit + width, 54 * unit, (width_gn + 20) * unit, 30 * unit);
// context.setFontSize(16 * unit);
// context.setLineJoin('round'); //交点设置成圆角
// context.setFillStyle("white");
// context.fillText(txt_gn, 149 * unit + width + 15 * unit, 75 * unit);
// 发出幸运购活动邀请
// context.setFillStyle("#7f7f7f")
// context.setFontSize(21.3 * unit)
// context.fillText("向您发出幸运购邀请", 152 * unit, 90 * unit);
}
}
var share_title = th.data.data.goods_name;
//---产品名称---
//文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
if (th.data.share_b_img ) {
context.setFillStyle("black");
context.setFontSize(21.3 * unit)
getApp().draw_Text(context, share_title,
38 * unit, 180 * unit, 220 * unit, 220 * unit, unit);
//------产品的价格-------
context.setFontSize(23 * unit)
context.setFillStyle("red")
var pri0 = th.data.luckGoInfo.group_price / 100;
// console.log('pri0========>>>>>', pri0);
// if (th.data.prom_act)
// pri0 = th.data.prom_act.price;
pri0 = parseFloat(pri0).toFixed(2);
var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25;
context.fillText("¥", wd1 - 15, 185 * unit);
context.setFontSize(31 * unit)
context.fillText(pri0, wd1, 185 * unit);
var tj_path = "../../../../images/share/q_tj.png";
context.drawImage(tj_path, 315 * unit, 158 * unit, 85 * unit, 30 * unit);
context.setLineJoin('round'); //交点设置成圆角
context.setFontSize(18 * unit);
context.setFillStyle("white");
context.fillText('参团价', 330 * unit, 179 * 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();
th.draw_pos_price(context,wd2, 213 * unit,pri0,unit);
}
//---中间大图---
if ( th.data.share_b_img ) {
context.drawImage(th.data.share_goods_img, 70 * unit, 245 * unit, 408 * unit, 408 * unit);
};
//---自定义海报 产品质量保证
if(th.data.share_b_img && th.data.poster.show_quality==1 ){
var g_path = "../../../../images/share/s_gou.png";
context.drawImage(g_path, 56 * unit, 658 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("正品保证", 84 * unit, 678 * unit);
context.drawImage(g_path, 218 * unit, 658 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("纯实体店", 246 * unit, 678 * unit);
context.drawImage(g_path, 388 * unit, 658 * unit, 22 * unit, 22 * unit);
context.setFillStyle("red")
context.setFontSize(18 * unit)
context.fillText("官方验证", 420 * unit, 678 * unit);
}
//-------大图后面就不一样了-----------
switch (type) {
case 9:
if(th.data.share_b_img){
//---画线---
// context.setLineWidth(1 * unit)
// context.moveTo(32 * unit, 680 * unit)
// context.lineTo(520 * unit, 680 * unit)
// context.stroke();
//---文字---
context.setFillStyle("black")
context.setFontSize(24 * unit)
context.font = 'normal bold 18px';
context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);
//还差N人,即可成团
let group_num = th.data.luckGoInfo.group_num;
let num_joined = th.data.luckGoInfo.num;
let delta1 = group_num - num_joined;
let width_delta1 = ut.measureText(delta1, 15);
context.setFillStyle("black");
context.setFontSize(21.3 * unit);
context.fillText(group_num + "人团,还差", 40 * unit, 772 * unit);
context.setFillStyle("#FF6768");
context.setFontSize(21.3 * unit);
context.fillText(delta1, 160 * unit, 772 * unit);
context.setFillStyle("black");
context.setFontSize(21.3 * unit);
context.fillText("人,即可成团", (170 + width_delta1) * unit, 772 * unit);
// N人得商品,N人全额退款
let group_win = th.data.luckGoInfo.group_win;
let delta2 = group_num - group_win;
let width_delta2 = ut.measureText(delta2, 16);
let width_groupNum = ut.measureText(group_num, 15);
let width_groupWin = ut.measureText(group_win, 15);
context.setFillStyle("#FF6768");
context.setFontSize(21.3 * unit);
context.fillText(group_win, 40 * unit, 806 * unit);
context.setFillStyle("black");
context.setFontSize(21.3 * unit);
context.fillText("人得商品,", (54 + width_groupWin) * unit, 806 * unit);
context.setFillStyle("#FF6768");
context.setFontSize(21.3 * unit);
context.fillText(delta2, 160 * unit, 806 * unit);
context.setFillStyle("black");
context.setFontSize(21.3 * unit);
context.fillText("人全额退款", (170 + width_delta2) * unit, 806 * unit);
// 并得帮团惊喜礼品
context.setFillStyle("black")
context.setFontSize(21.3 * unit)
context.fillText("并得帮团", 40 * unit, 840 * unit);
context.setFillStyle("#FF6768")
context.setFontSize(21.3 * unit)
context.fillText("惊喜礼品", 130 * unit, 840 * unit);
context.setFillStyle("black")
context.setFontSize(21.3 * unit)
context.fillText("!", 220 * unit, 840 * 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;
}
//--- 如果是自定义海报的时候 ---
if ( th.data.share_b_img ) {
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.poster && th.data.poster.show_time==1){
var act_time = '';
act_time="截止时间:"+ ut.formatTime(th.data.luckGoInfo.end_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;
}
// wx.previewImage({
// //将图片预览出来
// urls: [that.data.shareImgPath]
// });
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)
},
//--获取头像的本地缓存,回调写法--
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 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 = ee.currentTarget.dataset.ind;
var bconfig = th.data.bconfig;
//如果开启了,则不在选择门店
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) {
getApp().confirmBox("门店库存不足", null, 25000, !1);
return false;
}
if (th.data.only_pk && !th.data.only_pk.length) {
getApp().confirmBox("门店库存不足", null, 25000, !1);
return false;
}
if (th.data.def_pickpu_list && !th.data.def_pickpu_list.length) {
getApp().confirmBox("门店库存不足", null, 25000, !1);
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
})
} else {
this.setData({
store: 1,
openSpecModal: !1,
openSpecModal_pt: 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
})
},
//如果开启线下库存,已经急速库存才会使用
async check_the_pick(item, func) {
var th = this;
var goodsinfo = th.data.sele_g;
var erpwareid = goodsinfo.erpwareid;
var plist = null;
var lock = 0;
//---如果是活动的时候,同时不是普通购买---
if ((th.data.prom_type == 9 || th.data.prom_type == 1 || th.data.prom_type == 6 || th.data.prom_type == 4) && !th.data.is_normal) {
func(); return false;
}
if (this.data.sales_rules < 2) {
func();
} else {
//先读取门店的lock
// await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
// data: { store_id: os.stoid, wareId: goodsinfo.goods_id, storageId: item.pickup_id, pageSize: 1000 }
// }).then(res => {
// if (res.data.code == 0 && res.data.data.total > 0) {
// for (var i in res.data.data.pageData)
// lock += res.data.data.pageData[i].outQty;
// }
// })
// //读取线下的门店库存
// await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
// data: { storageNos: item.pickup_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid }
// }).then(res => {
// if (res.data.code == 0 && res.data.data.total > 0) {
// plist = res.data.data.pageData[0];
// }
// })
//
// if (plist && plist.CanOutQty - lock > 0) {
// item.CanOutQty = plist.CanOutQty - lock;
// func();
// return false;
// }
// getApp().my_warnning(item.pickup_name + "库存不足!", 0, th);
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();
});
}
},
//确定def_pick为选择的门店
sure_pick: function (e) {
var th = this;
var item = null;
var openindstore = th.data.open_ind_store;
if (th.data.choice_sort_store == 0) {
var index = th.data.fir_pick_index;
if (th.data.is_show_sto_cat == 1) {
item = th.data.def_pickpu_list[index];
} else {
item = th.data.only_pk?th.data.only_pk[index]:null; //当没有门店分类的时候
}
} else {
var index = th.data.sec_pick_index;
item = th.data.sec_sto.s_arr[index];
}
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
});
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({
// openSpecModal_pt: 1,
store: 0,
choice_sort_store: 0,
sort_store: 0
})
}
//如果商品没有其他活动,要取一下线下价格
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;
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": 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;
}
//判断组合购总数够不够
var is_has_zh_num=(!e.data.data.zh_num || e.data.data.zh_buy_num{
if (res.data.code == 0 && res.data.data) {
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(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();
}
})
if (r_data && 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
})
}
})
}
//-- 如果有促销活动也算是有参与活动,参与活动的也统一不进行计算起订的数量 --
this.data.is_act=0;
if(this.data.zh_act || this.data.prom_goods || this.data.jieti_prom || this.data.collocationGoods ){
this.data.is_act=1;
}
//-- 更新默认购买的数量 ---
var mo_num=getApp().get_limit_qty(th.data.sele_g,this.data.is_act);
this.setData({goodsInputNum:mo_num})
this.setData({mo_num:mo_num})
},
closePoster() {
this.setData({
showPoster: false,
});
},
// 保存图片到手机
savePic() {
console.log('保存图片');
var self = this;
// 获取用户的当前设置,返回值中有小程序已经向用户请求过的权限
this.getSetting().then((res) => {
// 判断用户是否授权了保存到相册的权限,如果没有发起授权
if (!res.authSetting['scope.writePhotosAlbum']) {
this.authorize().then(() => {
// 同意授权后保存下载文件
this.saveImage(self.data.shareImgPath)
.then(() => {
self.setData({
showPoster: false
});
});
})
} else {
// 如果已经授权,保存下载文件
this.saveImage(self.data.shareImgPath)
.then(() => {
self.setData({
showPoster: false
});
});
}
})
},
// 获取用户已经授予了哪些权限
getSetting() {
return new Promise((resolve, reject) => {
wx.getSetting({
success: res => {
resolve(res)
}
})
})
},
// 发起首次授权请求
authorize() {
// isFirst 用来记录是否为首次发起授权,
// 如果首次授权拒绝后,isFirst赋值为1
let isFirst = wx.getStorageSync('isFirst') || 0;
return new Promise((resolve, reject) => {
wx.authorize({
scope: 'scope.writePhotosAlbum',
// 同意授权
success: () => {
resolve();
},
// 拒绝授权,这里是用户拒绝授权后的回调
fail: res => {
if (isFirst === 0) {
wx.setStorageSync('isFirst', 1);
wx.showToast({
title: '保存失败',
icon: 'none',
duration: 1000
})
} else {
this.showModal();
}
console.log('拒绝授权');
reject();
}
})
})
},
// 保存图片到系统相册
saveImage(saveUrl) {
var self = this;
return new Promise((resolve, reject) => {
wx.saveImageToPhotosAlbum({
filePath: saveUrl,
success: (res) => {
wx.showToast({
title: '保存成功',
duration: 1000,
});
self.setData({
showPlaybill: 'true'
});
resolve();
},
fail: () => {
wx.showToast({
title: '保存失败',
duration: 1000,
});
}
})
})
},
previewImage() {
this.data.show_prew_img = 1;
getApp().pre_img(this.data.sele_g.original_img);
},
screenChange: function (e) {
let fullScreen = e.detail.fullScreen //值true为进入全屏,false为退出全屏
if (fullScreen) { //退出全屏
getApp().globalData.no_clear = 1;
this.data.show_video = 1;
}
},
is_show_more_buy: function () {
var prom_goods = this.data.prom_goods;
var per_price = this.data.sele_g.shop_price
if (this.data.card_field && this.data.sele_g[this.data.card_field] > 0) {
per_price = this.data.sele_g[this.data.card_field];
}
var all_price = per_price * this.data.goodsInputNum;
var con = null;
for (var i in prom_goods) {
var item = prom_goods[i];
if (item.prom_type == 1) {
if (item.condition > this.data.goodsInputNum) {
con = item;
con.need = (item.condition - this.data.goodsInputNum).toFixed(2) + "件";
break;
}
} else {
if (item.condition > all_price) {
con = item;
con.need = (item.condition - all_price).toFixed(2) + "元";
break;
}
}
}
this.setData({ hui_condition: con });
},
//-- 积分购 --
go_pay_integral: function () {
this.get_sto(0)
this.setData({ openSpecModal_inte: 1, goodsInputNum: 1 });
},
//-- 积分购普通购买 --
go_pay_integral_normal: function () {
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
});
});
}
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 store_name = getApp().globalData.config ? getApp().globalData.config.store_name : '';
if (!store_name)
store_name = getApp().globalData.setting.appName;
var pagePath = `goods_id=${this.data.sele_g.goods_id}&prom_type=9&group_id=${this.data.group_id}`; //当前页面url
if(getApp().globalData.user_id){
pagePath+="&first_leader="+getApp().globalData.user_id;
}
//群id分享
if (getApp().globalData.groupchat_id) {
pagePath+="&groupchat_id="+getApp().globalData.groupchat_id
}
return {
title: this.data.data.goods_name + '-' + store_name,
imageUrl: this.data.gallery[0].image_url,
query: pagePath
}
},
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) {
// var isok = 1, 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;
// }
// } 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);
// },
//-- 判断是否有秒杀 -- ccc
check_has_flash: function () {
// var th=this;
// var url="/api/weshop/activitylist/getGoodActInfo";
// var req_data={
// store_id:os.stoid,goodsidlist:this.data.data.goods_id,is_detail:1
// };
// //获取秒杀的多规格
// getApp().request.promiseGet(url, {data:req_data}).then(res=>{
// if(res.data.code==0 && res.data.data && res.data.data.length){
// th.setData({more_flash:res.data.data});
// }
// })
},
//-- 跳转到秒杀商品详情页 -- ccc
go_more_flash: function (e) {
// var prom_id=e.currentTarget.dataset.id;
// var goods_id=this.data.data.goods_id;
// var url="/pages/goods/goodsInfo/goodsInfo?goods_id="+goods_id+"&prom_id="+prom_id+"&prom_type=1";
// getApp().goto(url);
},
close_pop_more: function () {
this.setData({ is_pop_more: 0 })
},
con_weixin: function () {
getApp().con_wx(this);
},
// 显示幸运购规则
showRules: function () {
this.setData({
showRules: true,
});
},
// 关闭幸运购规则
closeRules: function () {
this.setData({
showRules: false,
});
},
// 跳转
go: function (e) {
var url = e.currentTarget.dataset.url;
getApp().goto(url);
},
// 查看奖励
showReward: function () {
this.getPrizes(this.data.luckGoInfo.type);
},
// 关闭奖励
closeReward: function () {
this.setData({
showReward: false,
});
},
// 获取优惠券奖励和服务项目奖励
getPrizes: function (type) {
// let currentItem = this.data.list.pageData[currentItemIndex];
// let type = type;
let self = this;
let app = getApp();
// 分割type字符串
let typeArr = this.splitStringToArr(type);
let prizesArr = [];
let promiseArr = [];
typeArr.forEach(function (item) {
let obj = {};
obj.type = item;
let promise = new Promise((resolve, reject) => {
switch (item) {
case 1: { //积分
obj.name = '积分';
obj.num = 'point';
prizesArr.push(obj);
resolve();
break;
};
case 2: { //成长值
obj.name = '成长值';
obj.num = 'grow';
prizesArr.push(obj);
resolve();
break;
};
case 3: { //优惠券
app.request.promiseGet('/api/weshop/prom/luckyCoupon/page', {
data: {
store_id: os.stoid,
aid: self.data.luckGoInfo.id,
}
}).then(res => {
if (res.data.code == 0) {
obj.couponList = res.data.data.pageData;
prizesArr.push(obj);
resolve();
};
});
break;
};
case 4: { //服务项目
app.request.promiseGet('/api/weshop/prom/luckyService/page', {
data: {
store_id: os.stoid,
aid: self.data.luckGoInfo.id,
}
}).then(res => {
if (res.data.code == 0) {
obj.serviceList = res.data.data.pageData;
prizesArr.push(obj);
resolve();
};
});
break;
};
case 5: { //预存金额
obj.name = 'prestore_name';
obj.num = 'prestore_money';
prizesArr.push(obj);
resolve();
break;
};
};
});
promiseArr.push(promise);
Promise.all(promiseArr).then(() => {
self.setData({
prizesArr,
showReward: true,
});
});
});
},
// 将type字符串分割成数组
splitStringToArr: function (typeStr) {
var index;
var newTypeArr = [];
var typeStrArr = typeStr.split(',');
typeStrArr.forEach(function (item) {
index = parseInt(item);
newTypeArr.push(index);
});
// console.log('newTypeArr', newTypeArr);
return newTypeArr;
},
//弹出活动已经结束
timeUp() {
wx.showToast({
title: '本商品活动已经结束!',
icon: 'none',
});
},
// 预览海报
previewPoster() {
getApp().globalData.no_clear=1;
wx.previewImage({
current: this.data.shareImgPath, // 当前显示图片的http链接
urls: [this.data.shareImgPath],// 需要预览的图片http链接列表
});
},
click_contact:function () {
getApp().globalData.no_clear=1;
},
//打开客服操作菜单
openCS() {
// 判断会员状态
let 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;
};
// csType/在线客服设置:
// 0关闭(如果有设置热线电话,则显示拨打热线电话)、
// 1小程序客服、
// 2企业微信客服
if(this.data.sys_switch) {
let csType = this.data.sys_switch.weapp_customertype;
if(csType == 0) {
// 拨打电话号码
this.contactService();
} else {
this.getTel()
.then(() => {
self.setData({
hiddenCS: false,
});
});
};
};
},
//关闭客服操作菜单
closeCS() {
this.setData({
hiddenCS: true,
});
},
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
},
});