yuminge-app/yun-min-program-plugin-master/packageG/mycomponent/stores/stores.js

599 lines
17 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.

// packageE/stores/stores.js
var location = require("../../../mybehaviors/location/location");
var app = getApp();
Component({
behaviors: [location],
properties: {
datas: {
type: null,
},
component_id: {
type: null,
},
U_tabcontrol: {
type: null,
},
btnFlag: {
type: null,
},
bottomShowBolIndex: {
type: null,
},
index: {
type: null,
},
plugin_active: String,
},
// 私有数据,可用于模板渲染
data: {
emptyImage: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/image.png",
clientWidth: "375",
active: "0",
titleName: [
{
id: "business_merchant",
text: "商家",
url: "plugin.store-cashier.frontend.store.store.get-store-list-to-page",
},
{
id: "business_discount",
text: "折扣",
url: "plugin.universal-card.frontend.store-discount.store-data",
},
{
id: "business_coupon",
text: "优惠券",
url: "plugin.store-cashier.frontend.store.aggregate-page.coupon",
},
{
id: "business_goods_gift",
text: "礼包",
url: "plugin.store-cashier.frontend.store.aggregate-page.goods-gift",
},
],
api: "",
dataJson: {},
pd_classfy_arr: [],
pd_date_arr: [],
//折扣的index
pd_index: 0,
pd_date_index: 0,
//商家数组和分页数据
shopList0: [],
isLoadMore0: false,
page0: 1,
total_page0: 0,
//折扣数组和分页数据
shopList1: [],
isLoadMore1: false,
page1: 1,
total_page1: 0,
//优惠券数组和分页数据
shopList2: [],
isLoadMore2: false,
page2: 1,
total_page2: 0,
//礼包数组和分页数据
shopList3: [],
isLoadMore3: false,
page3: 1,
total_page3: 0,
pd_date: {},
showMun: true,
openTemplate: 0, //门店列表样式
datas_style02: {
"get_number": 999,
"preview_color": "#f5f5f5",
"font_size": 14,
"font_color": "#666666",
"border_radius": 35,
"class_font_size": 12,
"class_font_color": "#f08316",
"class_bg_color": "#fff",
"class_border_radius": 5,
"location_font_size": 14,
"location_font_color": "#666666",
"discount_font_size": 10,
"discount_title_color": "#ffffff",
"discount_font_color": "#666666",
"discount_list": [
"1",
"2",
"3",
"4"
],
"tag_font_size": 10,
"tag_font_color": "#fff",
"tag_bg_color": "#f08316",
"tag_border_color": "#f08316",
"tag_border_radius": 5,
"show_goods": true,
"tab_list": [],
"tab_bg_color": "#ffffff",
"tab_color": "#333333",
"tab_active_color": "#ff8400"
} //门店列表样式
},
lifetimes: {
// 生命周期函数可以为函数或一个在methods段中定义的方法名
attached() {
let language = wx.getStorageSync("langIndex");
this.setData({
language: language.en,
});
},
moved() {},
detached() {},
},
// 生命周期函数可以为函数或一个在methods段中定义的方法名
attached() {},
// 此处attached的声明会被lifetimes字段中的声明覆盖
ready() {
if (this.data.datas.discount_list.indexOf("1") > -1) {
this.setData({
showMun: true,
});
} else if (this.data.datas.discount_list.indexOf("1") < 0) {
this.setData({
showMun: false,
});
}
this.setData({
clientWidth: wx.getSystemInfoSync().windowWidth,
});
this._getLocation((res) => {
console.log(res)
if (this.data.U_tabcontrol) {
this.chooseTab(" ", "business_merchant");
} else {
if (this.data.datas.tab_list.indexOf("1") > -1) {
this.chooseTab(" ", "business_merchant");
} else if (this.data.datas.tab_list.indexOf("2") > -1) {
this.chooseTab(" ", "business_discount");
} else if (this.data.datas.tab_list.indexOf("3") > -1) {
this.chooseTab(" ", "business_coupon");
} else if (this.data.datas.tab_list.indexOf("4") > -1) {
this.chooseTab(" ", "business_goods_gift");
}
}
},(err)=>{
//拒绝定位
if (this.data.U_tabcontrol) {
this.chooseTab(" ", "business_merchant");
} else {
if (this.data.datas.tab_list.indexOf("1") > -1) {
this.chooseTab(" ", "business_merchant");
} else if (this.data.datas.tab_list.indexOf("2") > -1) {
this.chooseTab(" ", "business_discount");
} else if (this.data.datas.tab_list.indexOf("3") > -1) {
this.chooseTab(" ", "business_coupon");
} else if (this.data.datas.tab_list.indexOf("4") > -1) {
this.chooseTab(" ", "business_goods_gift");
}
}
});
console.log(wx.getStorageSync("address-point"),'sssssssssssssss')
},
pageLifetimes: {
// 组件所在页面的生命周期函数
show() {},
hide() {},
resize() {},
},
methods: {
// 跳转到店铺
toRouter(e) {
let item = e.currentTarget.dataset.item;
if (item.specify_show == 1) {
wx.navigateTo({
url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + item.id + "&fromHome=1",
});
} else {
if (item.store_decorate == 1) {
wx.navigateTo({
url: "/packageG/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
});
} else {
wx.navigateTo({
url: "/packageC/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
});
}
}
},
toClassify(e) {
let id = e.currentTarget.dataset.id;
wx.navigateTo({
url: "/packageC/o2o/o2oCategory/o2oCategory?id=" + id + "&city=" + this.data.city + "&point=" + JSON.stringify(this.data.point),
});
},
toGoods(e) {
let item = e.currentTarget.dataset.item;
wx.navigateTo({
url: "/packageA/detail_v2/detail_v2?id=" + item.goods_id,
});
},
//特权折扣--搜索--门店分类
pdClassfySearch(e) {
let index = e.currentTarget.dataset.index;
let id = e.currentTarget.dataset.id;
//1.改变选中状态
this.setData({
pd_index: index,
});
//2.修改搜索参数--门店分类
this.setData({
pd_category_id: id,
});
//3.初始化分页数据
this.pdInitData();
//4.执行搜索返回数据(带上日期的搜索值)
this.getPdData();
},
//特权折扣--分页
pdInitData() {
this.setData({
isLoadMore1: false,
page1: 1,
total_page1: 0,
shopList1: [],
});
},
//特权折扣--搜索--日期
pdDateSearch(e) {
let index = e.currentTarget.dataset.index;
let date = e.currentTarget.dataset.date;
//1.改变选中状态
this.setData({
pd_date_index: index,
});
//2.修改搜索参数--日期
this.setData({
pd_date: date,
});
//3.初始化分页数据
this.pdInitData();
//4.执行搜索返回数据(带上门店分类的搜索值)
this.getPdData();
},
//领取优惠券
getCoupon(e) {
let id = e.currentTarget.dataset.id;
let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.coupon-get");
app._getNetWork({
url: urlStr,
data: {
coupon_id: id,
},
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
wx.showModal({
title: "提示",
content: "领取成功",
showCancel: false,
success(res) {},
});
} else {
wx.showToast({
title: res.msg,
icon: "none",
duration: 1500,
});
}
},
fail: function (res) {
console.log(res);
},
});
},
//跳转至门店首页
gotoShop(e) {
let id = e.currentTarget.dataset.id;
wx.navigateTo({
url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + id,
});
},
// 打开地图
goToAdress(e) {
let latitude = e.currentTarget.dataset.items.latitude;
let longitude = e.currentTarget.dataset.items.longitude;
let store_name = e.currentTarget.dataset.items.store_name;
let point = app.BMapTransqqMap(parseFloat(longitude), parseFloat(latitude));
wx.openLocation({
latitude: point.lat,
longitude: point.lng,
scale: 18,
name: store_name,
});
},
getMoreList() {
let that = this;
let point;
//获取更多数据
this.setData({
[`isLoadMore${this.data.tab}`]: false,
});
if (this.data[`page${this.data.tab}`] >= this.data[`total_page${this.data.tab}`]) {
return;
} else {
this.data[`page${this.data.tab}`] = this.data[`page${this.data.tab}`] + 1;
switch (this.data.tab) {
case 0:
point = app.qqMapTransBMap(parseFloat(this.data.point.lng), parseFloat(this.data.point.lat));
this.setData({
dataJson: {
lng: point.lng ? point.lng : "",
lat: point.lat ? point.lat : "",
city_name: this.data.city,
page: this.data.page0,
},
});
break;
case 2:
this.setData({
dataJson: {
page: this.data.page2,
},
});
break;
case 3:
this.setData({
dataJson: {
page: this.data.page3,
},
});
break;
}
let urlStr = app.getNetAddresss(that.data.api);
app._getNetWork({
url: urlStr,
data: that.data.dataJson,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
if (that.data.tab !== 1) {
that.setData({
[`shopList${that.data.tab}`]: that.data[`shopList${that.data.tab}`].concat(res.data.data),
[`total_page${that.data.tab}`]: res.data.last_page,
});
}
if (that.data[`page${that.data.tab}`] >= that.data[`total_page${that.data.tab}`]) {
that.setData({
[`isLoadMore${that.data.tab}`]: false,
});
} else {
that.setData({
[`isLoadMore${that.data.tab}`]: true,
});
}
if (that.data.tab == 0) {
if (that.data[`shopList${that.data.tab}`].length > that.data.datas.get_number) {
that.data[`shopList${that.data.tab}`].splice(that.data.datas.get_number, that.data[`shopList${that.data.tab}`].length - that.data.datas.get_number);
console.log(that.data[`shopList${that.data.tab}`],'aaaaaaaaa')
that.setData({
[`shopList${that.data.tab}`]: that.data[`shopList${that.data.tab}`],
[`isLoadMore${that.data.tab}`]: false,
});
}
}
that.triggerEvent("setLoadMore", {
isLoadMore: that.data[`isLoadMore${that.data.tab}`],
});
// console.log(that.data.shopList0)
} else {
that.setData({
[`page${that.data.tab}`]: [`page${that.data.tab}`] - 1,
[`isLoadMore${that.data.tab}`]: false,
});
}
},
fail: function (res) {
console.log(res);
},
});
}
},
onClick(e) {
if (e.detail.title == "商家") {
this.setData({
active: 0,
});
this.chooseTab("", "business_merchant");
} else if (e.detail.title == "折扣") {
this.setData({
active: 1,
});
this.chooseTab("", "business_discount");
} else if (e.detail.title == "优惠券") {
this.setData({
active: 2,
});
this.chooseTab("", "business_coupon");
} else if (e.detail.title == "礼包") {
this.setData({
active: 3,
});
this.chooseTab("", "business_goods_gift");
}
},
chooseTab(key, index) {
// 找到对应的索引
function pFn(p) {
return p.id == index;
}
this.setData({
tab: this.data.titleName.findIndex(pFn),
});
console.log(this.data.tab, this.data.titleName, "this.data.titleName");
this.setData({
api: this.data.titleName[this.data.tab].url,
});
let type = this.data.titleName[this.data.tab].id;
this.setData({
[`isLoadMore${this.data.tab}`]: false,
[`total_page${this.data.tab}`]: 0,
[`page${this.data.tab}`]: 1,
});
if (type === "business_merchant") {
let point = app.qqMapTransBMap(parseFloat(this.data.point.lng), parseFloat(this.data.point.lat));
this.setData({
dataJson: {
lng: point.lng ? point.lng : "",
lat: point.lat ? point.lat : "",
city_name: this.data.city,
page: this.data.page0,
},
});
} else {
switch (type) {
case "business_discount":
this.setData({
dataJson: {
page: this.data.page1,
},
});
break;
case "business_coupon":
this.setData({
dataJson: {
page: this.data.page2,
},
});
break;
case "business_goods_gift":
this.setData({
dataJson: {
page: this.data.page3,
},
});
break;
}
}
this.getList();
},
getList() {
let that = this;
// console.log(this.data.api,"api")
let urlStr = app.getNetAddresss(that.data.api);
app._getNetWork({
url: urlStr,
data: this.data.dataJson,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
if (that.data.tab === 1) {
that.setData({
pd_classfy_arr: res.data.store_category,
pd_date_arr: res.data.date_time,
});
//赋初值日期和门店分类id
that.setData({
pd_category_id: res.data.store_category[0].id,
pd_date: res.data.date_time[0],
});
that.getPdData();
} else {
that.setData({
[`shopList${that.data.tab}`]: res.data.data,
[`total_page${that.data.tab}`]: res.data.last_page,
});
}
if (that.data[`total_page${that.data.tab}`] <= 1) {
that.setData({
[`isLoadMore${that.data.tab}`]: false,
});
} else {
that.setData({
[`isLoadMore${that.data.tab}`]: true,
});
}
if (that.data.tab == 0) {
if (that.data[`shopList${that.data.tab}`].length > that.data.datas.get_number) {
that.data[`shopList${that.data.tab}`].splice(that.data.datas.get_number, that.data[`shopList${that.data.tab}`].length - that.data.datas.get_number);
that.setData({
[`shopList${that.data.tab}`]: res.data.data,
[`isLoadMore${that.data.tab}`]: false,
});
}
}
if (res.data.hasOwnProperty("store_list_style")) {
that.setData({
openTemplate: res.data.store_list_style || 0
});
}
// console.log(this.data[`shopList${that.data.tab}`], "aa");
} else {
// wx.showToast({
// icon: 'none',
// title: res.msg,
// duration: 1500
// })
console.log(res.msg);
}
// console.log(that.data.shopList0)
},
fail: function (res) {
console.log(res);
wx.showToast({
title: res.msg,
duration: 1000,
icon: "none",
});
},
});
},
getPdData() {
let that = this;
let point = app.qqMapTransBMap(parseFloat(this.data.point.lng), parseFloat(this.data.point.lat));
let json = {
lng: point.lng,
lat: point.lat,
city_name: this.data.city,
page: this.data.page1,
week: this.data.pd_date.week_num,
category_id: this.data.pd_category_id,
day: this.data.pd_date.day,
};
let urlStr = app.getNetAddresss("plugin.universal-card.frontend.store-discount.privilege");
app._getNetWork({
url: urlStr,
data: json,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
total_page1: res.data.last_page,
shopList1: res.data.data,
});
if (that.data.total_page1 <= 1) {
that.setData({
isLoadMore1: false,
});
} else {
that.setData({
isLoadMore1: true,
});
}
} else {
that.setData({
isLoadMore1: false,
});
}
},
fail: function (res) {
console.log(res);
},
});
},
},
});