yuminge-app/yun-min-program-plugin-master/packageA/mycomponent/goodsComponent/foot/foot.js

696 lines
19 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// packageA/mycomponent/goodsComponent/foot/foot.js
const app = getApp();
Component({
/**
* 组件的属性列表
*/
properties: {
ipnonexbol: {
type: null,
},
goodsType: {
type: null,
},
goods_plugin: {
type: null,
},
activityid: {
type: null,
},
isBegTime: {
type: null,
},
isRent: {
type: null,
},
isTime: {
type: null,
},
beginDownObj: {
type: null,
},
goodsId: {
type: Number,
},
enterAt: {
type: Object,
},
goodsInfo: {
type: null,
},
isTimeEnd: {
type: null,
},
leader_partake: {
type: null,
},
leader_not_join_invalid: {
type: null,
},
mode: {
type: null,
},
cart_num: {
// 购物车数量
type: null,
},
debtId:{
// 置换亿栈店铺id
type:null
}
},
/**
* 组件的初始数据
*/
data: {
// 拼团
group_price: "",
// 客服
service_mobile: "",
service_QRcode: "",
customer_open: false,
show1: false,
isAddCart: false,
SUBMIT_ACTION_CART: "-1", //添加到购物车
SUBMIT_ACTION_BUY: "-2", //立即购买
specsManage: [],
goodsCount: 1,
language: "",
beginDownObj: {
day: "00",
hou: "00",
min: "00",
sec: "00",
},
is_yz_supplyGoods: false,
gooddatas: [],
//是否显示购物车
nocart: false,
//限时购开关
isBuy: false,
goods_info: [],
timestamp: Date.parse(new Date()) / 1000,
checkSetTimeOut: '',
isShowShop: true//是否显示首页or店铺入口
},
observers: {
"goodsInfo,goodsType": function (info, type) {
if (type != "group_goods" && type != "grabGroup") {
this.setIsAddCart();
if (type == "hotelGoods") {
this.isFavorite();
}
if (info?.plugin_id == 140) {
this.setSupplyGoodsData();
}
if (info.supplier&&Number(info.supplier.is_open)==0) {
this.setData({
isShowShop: false
});
}
}
},
"isRent": function (rent) {
// console.log(rent, '12');
},
"gooddatas": function (info) {
// console.log(info, '121');
}
},
lifetimes: {
attached() {
let language = wx.getStorageSync("langIndex");
this.setData({
language: language.en,
});
this.setSupplyGoodsData();
},
ready() {
if (this.data.goodsType == 'zhpGroup') {
this.checkSet();
}
},
detached() {
if (this.data.goodsType == 'zhpGroup') {
clearInterval(this.data.checkSetTimeOut);
}
}
},
/**
* 组件的方法列表
*/
methods: {
setSupplyGoodsData() {
let plugin_setting = wx.getStorageSync("yz_basic_info").plugin_setting;
if (plugin_setting && plugin_setting.yz_supply_camilo_resources && (plugin_setting.yz_supply_camilo_resources.is_ios_sell === 1 || plugin_setting.yz_supply_camilo_resources.is_ios_sell === '1')) {
let res = wx.getSystemInfoSync();
if (res.platform == 'ios' && this.data.goodsInfo?.plugin_id == 140) {
this.setData({
is_yz_supplyGoods: true
});
}
}
},
originalPriceTo(e){
let gid = e.currentTarget.dataset.gid;
wx.navigateTo({
url: '/packageA/detail_v2/detail_v2?id='+gid,
})
},
gotoChat(evt) {
let url = evt.currentTarget.dataset.cservice + "&goods_id=" + this.data.goodsId;
wx.navigateTo({
url: url,
fail: (err) => {
app.tips("客服路由出错");
}
});
},
gotoCart1() {
wx.reLaunch({
url: "/packageG/pages/buy/cart_v2/cart_v2",
});
},
gotoindex() {
wx.reLaunch({
url: "/packageG/index/index",
});
},
tapkefu() {
this.setData({
kefu: true,
});
},
closePop() {
this.setData({
show1: false,
});
},
showPop() {
let setServicePlugin = app._isTextEmpty(this.data.service_mobile) && app._isTextEmpty(this.data.service_QRcode);
if (app._isTextEmpty(this.data.cservice) && setServicePlugin) {
return app.tips("抱歉,暂未设置客服信息");
}
if (!app._isTextEmpty(this.data.cservice) && setServicePlugin) {
this.gotoChat({currentTarget:{dataset:{cservice: this.data.cservice}}}) //只设置了客服链接,直接跳转
return;
}
this.setData({
show1: true,
});
},
callPhone() {
wx.makePhoneCall({
phoneNumber: this.data.service_mobile,
});
},
//判断是否能加入购物车
setIsAddCart() {
//为空是老数据默认值问题
if (app._isTextEmpty(this.data.goodsInfo.buy_way) || this.data.goodsInfo.buy_way == "0") {
this.setData({
isAddCart: true,
});
}
//不能加入 金币产品
if (this.data.goodsInfo.buy_way == 1) {
this.setData({
isAddCart: false,
});
}
},
// 加入购物车
addCart() {
// this.triggerEvent('addCartFoot')
let that = this;
if (!this.data.isAddCart) {
return;
}
//价格权限
if (this.data.goodsInfo.vip_level_status && this.data.goodsInfo.vip_level_status.status == 1) {
wx.showToast({
icon: "none",
title: this.data.goodsInfo.vip_level_status.tips,
duration: 2500,
});
return;
}
let urlStr = app.getNetAddresss("member.member.isValidatePageGoods");
app._getNetWork({
showToastIn: false,
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
if (that.data.goodsInfo.has_one_invite_page && that.data.goodsInfo.has_one_invite_page.status === 1 && res.data.is_invite === 0) {
wx.navigateTo({
url: "/packageC/member/visit/Inviter/Inviter?fromGood=" + 1,
});
return;
}
that.setData({
submitActionTag: that.data.SUBMIT_ACTION_CART,
});
that.triggerEvent("popupModeshowChild", {
submitActionTag: that.data.SUBMIT_ACTION_CART,
});
//判断是否有规格
if (that.data.goodsInfo.has_option == 1) {
console.log("1111111111111111111", that.data.optionsId);
that.triggerEvent("popupModeshowChild", {
popupSpecs: true,
popupModeshow: false,
submitActionTag: that.data.SUBMIT_ACTION_CART,
});
} else {
console.log("1111111111111111111加入购物车操作无规格");
//处理参数 无规格
that.setData({
optionsId: "",
});
if (that.data.isAddCart) {
console.log(that.data.SUBMIT_ACTION_CART);
that.triggerEvent("popupModeshowChild", {
popupSpecs2: true,
popupModeshow: false,
submitActionTag: that.data.SUBMIT_ACTION_CART,
isAddCart: that.data.isAddCart
});
}
// that.addCartRequest(that.data.goodsId, that.data.optionsId, that.data.goodsCount);
}
} else {
wx.showToast({
icon: "none",
title: res.msg,
duration: 2500,
});
}
},
});
},
//******************** 加入购物车网络操作 ***************
addCartRequest(_goodsId, _optionsId, _total) {
//库存不足
if (this.data.optionsMaxCount == 0) {
wx.showToast({
icon: "none",
title: "商品库存不足",
duration: 2500,
});
return;
}
if (_total <= 0) {
this.setData({
popupSpecs: false,
popupModeshow: true,
});
wx.showToast({
icon: "none",
title: "请选择商品数量",
duration: 2500,
});
return;
}
let that = this;
let goods = [];
goods.push(_goodsId);
let urlStr = app.getNetAddresss("from.div-from.isDisplay");
urlStr += "&goods_ids=" + JSON.stringify(goods);
app._getNetWork({
showToastIn: false,
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
// var _data = res.data;
if (res.data.status && !res.data.member_status) {
wx.showModal({
title: "提示",
content: "购买此商品,请补充您的个人信息",
success(res) {
if (res.confirm) {
//保税真实信息添加
wx.navigateTo({
url: "/packageB/member/address/myinfo/myinfo?tag=delta",
});
} else if (res.cancel) {
console.log("用户点击取消");
}
},
});
} else {
that.addCartReq(_goodsId, _optionsId, _total);
}
} else {
wx.showToast({
icon: "none",
title: res.msg,
duration: 2500,
});
}
},
fail: function (res) {},
});
},
addCartReq(_goodsId, _optionsId, _total) {
// let that = this;
let urlStr = app.getNetAddresss("member.member-cart.store");
urlStr += "&goods_id=" + _goodsId;
urlStr += "&total=" + _total;
urlStr += "&option_id=" + _optionsId;
app._getNetWork({
showToastIn: false,
url: urlStr,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
app.globalData.cart_num = res.data.cart_num;
this.triggerEvent('changeCartNumber', res.data.cart_num);
wx.showToast({
icon: "none",
title: res.msg,
duration: 2500,
});
} else {
wx.showToast({
icon: "none",
title: res.msg,
duration: 2500,
});
}
},
fail: function (res) {
console.log(res);
},
});
},
// *********************** 加入购物车网络操作end ****************
toWarning() {
wx.showModal({
title: '提示',
content: '因平台规则限制IOS端不支持购买虚拟商品如需帮助请联系客服。',
confirmText: "联系客服",
success: (res) => {
if (res.confirm) {
this.showPop();
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
// 立即购买
buyNow(e) {
if (this.data.is_yz_supplyGoods) {
this.toWarning();
return;
}
// this.triggerEvent(' ');
let key = e ? e : false;
let that = this;
if (this.data.isBuy && this.data.isBegTime) {
wx.showToast({
icon: "none",
title: "该商品还没到购买时间",
duration: 2500,
});
return false;
}
//价格权限
if (this.data.goodsInfo.vip_level_status && this.data.goodsInfo.vip_level_status.status == 1) {
wx.showToast({
icon: "none",
title: this.data.goodsInfo.vip_level_status.tips,
duration: 2500,
});
return;
}
let urlStr = app.getNetAddresss("member.member.isValidatePageGoods");
app._getNetWork({
showToastIn: false,
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
if (that.data.goodsInfo.has_one_invite_page && that.data.goodsInfo.has_one_invite_page.status === 1 && res.data.is_invite === 0) {
wx.navigateTo({
url: "/packageC/member/visit/Inviter/Inviter?fromGood=" + 1,
});
return;
}
that.setData({
submitActionTag: that.data.SUBMIT_ACTION_BUY,
});
console.log(that.data.SUBMIT_ACTION_BUY);
that.triggerEvent("buyNowFoot", {
submitActionTag: that.data.SUBMIT_ACTION_BUY,
submitTag: key
});
if (that.data.goodsInfo.has_option == 1) {
//有规格 但是还未选择
that.setData({
popupSpecs: true,
popupModeshow: false,
});
that.triggerEvent("buyNowFoot", {
popupSpecs: true,
popupModeshow: false,
submitActionTag: that.data.SUBMIT_ACTION_BUY,
submitTag: key
});
} else if (that.data.goodsInfo.has_option == 0) {
that.showPopView2();
}
} else {
wx.showToast({
icon: "none",
title: res.msg,
duration: 2500,
});
}
},
});
},
showPopView(e) {
let isa = e.currentTarget.dataset.type;
this.triggerEvent("buyNowFoot", {
isAward: isa,
popupSpecs: true,
popupModeshow: false,
});
},
showPopView2(buyType) {
this.triggerEvent("buyNowFoot", {
popupSpecs2: true,
popupModeshow: false,
submitActionTag: this.data.SUBMIT_ACTION_BUY,
});
},
// *************************酒店*******************
onFavorite(e) {
let favorite = e.currentTarget.dataset.fadata;
favorite ? this.removeFavorite() : this.addFavorite();
},
//判断是否收藏
isFavorite() {
let that = this;
let urlStr = app.getNetAddresss("member.member-favorite.isFavorite");
urlStr += "&goods_id=" + this.data.goodsId;
app._getNetWork({
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
favorite: res.data.status == 1 ? true : false,
});
}
},
fail: function (res) {
console.log(res);
},
});
},
//移除收藏
removeFavorite() {
let that = this;
let urlStr = app.getNetAddresss("member.member-favorite.destroy");
urlStr += "&goods_id=" + this.data.goodsId;
app._getNetWork({
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
favorite: false,
});
wx.showToast({
icon: "none",
title: "操作成功",
duration: 2500,
});
} // else {
//}
},
fail: function (res) {
console.log(res);
},
});
},
//添加收藏
addFavorite() {
let that = this;
let urlStr = app.getNetAddresss("member.member-favorite.store");
urlStr += "&goods_id=" + this.data.goodsId;
app._getNetWork({
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
favorite: true,
});
wx.showToast({
icon: "none",
title: "操作成功",
duration: 2500,
});
}
},
fail: function (res) {
console.log(res);
},
});
},
// 酒店下单
order() {
let gid = this.data.goods_info.get_hotel_info.goods.hotel_id;
let end = this.data.enterAt ? this.data.enterAt.end : "";
let start = this.data.enterAt ? this.data.enterAt.start : "";
wx.navigateTo({
url: "/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder?end=" + end + "&start=" + start + "&id=" + gid + "&goods_id=" + this.data.goodsId,
});
},
// ************************* 酒店end *******************
// ****************************** 拼团 ******************************
// 跳转主页
gotoHome(e) {
let str = e.currentTarget.dataset.str;
if (str == 'zhplis') {
console.log('珍惠拼 拼团列表');
wx.navigateTo({
url: '/packageB/member/group/MyGroups/MyGroups?types=zhpGroup'
});
return;
}
if (str == 'supplier' && this.data.goodsInfo.supplier) {
wx.navigateTo({
url: "/packageA/member/supplier/SupplierShop/SupplierShop?id=" + this.data.goodsInfo.supplier.id,
});
return;
}
wx.reLaunch({
url: "/packageG/index/index",
});
},
showGroupMore() {
this.triggerEvent("showGroupMoreChild");
},
tapshowOne() {
this.triggerEvent("buyNowFoot", {
popupSpecs: true,
popupModeshow: false,
});
},
// 新零售
buyNowRetail(e) {
let that = this;
let buyType = e.currentTarget.dataset.buytype;
if (that.data.goodsInfo.has_option == 1) {
//有规格 但是还未选择
that.setData({
popupSpecs: true,
popupModeshow: false,
});
that.triggerEvent("buyNowRetail", {
popupSpecs: true,
popupModeshow: false,
buyType: buyType,
});
} else if (that.data.goodsInfo.has_option == 0) {
that.showPopVie(buyType);
}
},
showPopVie(buyType) {
this.triggerEvent("buyNowRetail", {
popupSpecs2: true,
popupModeshow: false,
buyType: buyType
});
},
// 珍惠拼 拼团
zhpGroupTap(e) {
console.log(e);
if (e.currentTarget.dataset.buytype == 'zhpyh') {
wx.navigateTo({
url: '/packageB/member/group/MyGroups/MyGroups?tag=1&types=zhpGroup'
});
return;
}
let that = this;
if (that.data.goodsInfo.has_option == 1) {
//有规格 但是还未选择
that.setData({
popupSpecs: true,
popupModeshow: false,
});
that.triggerEvent("buyNowFoot", {
popupSpecs: true,
popupModeshow: false,
submitActionTag: that.data.SUBMIT_ACTION_BUY,
optionsId: that.data.gooddatas.has_many_options[0].option_id
});
} else if (that.data.goodsInfo.has_option == 0) {
that.showPopView2();
}
},
checkSet(num) {
let that = this;
let timestamp = this.data.timestamp;
that.setData({
timeset: false
});
this.data.checkSetTimeOut = setInterval(() => {
// timestamp = timestamp + 1;
// console.log(timestamp , that.data.gooddatas.start_time)
if (this.data.gooddatas.status == 2) {
that.setData({
timeset: true
});
clearInterval(this.data.checkSetTimeOut);
}
if (timestamp <= that.data.gooddatas.start_time) {
// 小于等于开始时间 活动未开始
that.setData({
timeset: true
});
} else if (timestamp <= that.data.gooddatas.end_time) {
// 小于等于结束时间 活动进行中
that.setData({
timeset: false
});
clearInterval(this.data.checkSetTimeOut);
}
}, 1000);
}
},
});