607 lines
17 KiB
JavaScript
607 lines
17 KiB
JavaScript
// pages/HomeSeller/HomeSeller.js
|
||
// var WxParse = require('../../../wxParse/wxParse.js');
|
||
var app = getApp();
|
||
Page({
|
||
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
language: '',
|
||
category: [],
|
||
mainInfo: {},
|
||
telephone: "",
|
||
path: '',
|
||
title: '',
|
||
info: {},
|
||
infoShow: false,
|
||
// pet_status: false,
|
||
//more
|
||
isLoadMore: true,
|
||
page: 1,
|
||
total_page: 0,
|
||
|
||
isShow: false,
|
||
//
|
||
store_member: [],
|
||
store_room: [], //直播间列表
|
||
|
||
micro_communities: [],
|
||
get_recommend_goods: [],
|
||
commentList: [],
|
||
//门店配送 start +++++++++++++++++++++++
|
||
delivery_note: "", //门店配送说明
|
||
delivery_area: [
|
||
[116.403322, 39.920255]
|
||
], // 配送范围经纬度
|
||
locations: [116.403322, 39.920255], //门店经纬度
|
||
delivery_status: 0, //是否开启门店配送
|
||
markers_2: [{ // 获取返回结果,放到mks数组中
|
||
latitude: 23.099994,
|
||
longitude: 113.324520,
|
||
iconPath: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", //图标路径
|
||
width: 20,
|
||
height: 25,
|
||
callout: {
|
||
padding: '10rpx',
|
||
borderRadius: '5rpx'
|
||
}
|
||
}],
|
||
polygons_2: [{
|
||
points: [],
|
||
fillColor: "#FF88887F",
|
||
strokeColor: "#FFF",
|
||
strokeWidth: 2,
|
||
zIndex: 1
|
||
}],
|
||
delivery: {
|
||
longitude: "113.324520",
|
||
latitude: "23.099994"
|
||
},
|
||
delivery_amount: 0, //门店起送金额
|
||
// end ---------------------------
|
||
// 门店独立余额
|
||
// 1:显示余额模块0:不显示模块
|
||
is_open: 0,
|
||
// 余额名称
|
||
balanceTitle: '',
|
||
// 会员拥有该门店的余额数量
|
||
member_balance: '',
|
||
// 1:显示充值按钮0:不显示充值按钮
|
||
show_button: 0,
|
||
// 是否显示二维码
|
||
show_qr_code: false,
|
||
// 门店独立余额 end
|
||
|
||
tabList: [],
|
||
menuList: [], //标签的数组集合
|
||
tabName: "门店详情",
|
||
tabIndex: 0,
|
||
isLoading: false //是否处于请求状态
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function (options) {
|
||
if (options.scene) {
|
||
let scene = decodeURIComponent(options.scene);
|
||
if (scene) {
|
||
var info_arr = [];
|
||
info_arr = scene.split(',');
|
||
for (let i = 0; i < info_arr.length; i++) {
|
||
let chil_arr = [];
|
||
chil_arr = info_arr[i].split('=');
|
||
console.log(chil_arr);
|
||
if (chil_arr[0] == 'store_id') {
|
||
this.setData({
|
||
store_id: chil_arr[1]
|
||
});
|
||
}
|
||
if (chil_arr[0] == 'mid') {
|
||
app._setMid(chil_arr[1]);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (options.store_id) {
|
||
this.setData({
|
||
store_id: options.store_id
|
||
});
|
||
}
|
||
this.getStoreInfo();
|
||
this.getBalance();
|
||
// this.checked_pet()
|
||
},
|
||
toStoreBalance(e) {
|
||
let key = e.currentTarget.dataset.key;
|
||
if (key == 'balance') {
|
||
wx.navigateTo({
|
||
url: '/packageI/independenceBalance/storeBalance/balance_recharge?store_id=' + this.data.store_id,
|
||
});
|
||
} else {
|
||
wx.navigateTo({
|
||
url: '/packageI/independenceBalance/independenceBalance?store_id=' + this.data.store_id,
|
||
});
|
||
}
|
||
},
|
||
copybtn(e) {
|
||
let wechatCode = e.currentTarget.dataset.wechat;
|
||
wx.setClipboardData({
|
||
data: wechatCode ? wechatCode : '',
|
||
success(res) {
|
||
wx.showToast({
|
||
icon: 'none',
|
||
title: '复制成功',
|
||
duration: 1000
|
||
});
|
||
}
|
||
});
|
||
},
|
||
chooseTab(e) {
|
||
let item = e.currentTarget.dataset.item;
|
||
this.setData({
|
||
tabIndex: e.currentTarget.dataset.index,
|
||
tabName: item.name
|
||
});
|
||
if (this.data.tabIndex == '门店活动') {
|
||
wx.navigateTo({
|
||
url: '/packageD/ActivityDetail/ActivityDetail?id=' + tab.id + '&store_id=' + this.data.store_id
|
||
});
|
||
} else if (this.data.tabIndex == '赛车成绩') {
|
||
wx.navigateTo({
|
||
url: '/packageH/turmaroundTime/turmaroundIndex/turmaroundIndex?id=' + this.data.store_id,
|
||
});
|
||
} else if (item.value == 80){
|
||
wx.navigateTo({
|
||
url: '/packageF/storeSign/storeSign/storeSign?id='+this.data.store_id,
|
||
})
|
||
return
|
||
}
|
||
|
||
this.getTabsData(); //请求标签数据
|
||
},
|
||
getTabsData() {
|
||
if (!this.data.menuList[this.data.tabIndex].url) {
|
||
// getStoreInfo()方法返回并处理menuList数组
|
||
// 如该标签数据需要请求api获取,让后端返回请求接口的api;
|
||
console.log("menu_list该标签没有返回请求api");
|
||
return;
|
||
}
|
||
if (this.data.menuList[this.data.tabIndex].list.length > 0) {
|
||
this.data.isLoadMore = this.data.menuList[this.data.tabIndex].isLoadMore;
|
||
return;
|
||
}
|
||
let _totalPage = 1;
|
||
let _list = [];
|
||
this.data.isLoading = true;
|
||
let urlStr = app.getNetAddresss(this.data.menuList[this.data.tabIndex].url);
|
||
app._postNetWork({
|
||
url: urlStr,
|
||
data: {
|
||
page: 1,
|
||
store_id: this.data.store_id
|
||
},
|
||
success: (resdata) => {
|
||
let res = resdata.data;
|
||
if (res.result == 1) {
|
||
if (this.data.tabName == "门店微贴") {
|
||
_totalPage = res.data.last_page;
|
||
_list = this.setCommunities(res.data.data);
|
||
} else if (this.data.tabName == "门店员工") {
|
||
_list = res.data;
|
||
} else if (res.data?.data) {
|
||
_totalPage = res.data.last_page;
|
||
_list = res.data.data;
|
||
} else {
|
||
console.log("getTabsData()::error", res.data);
|
||
}
|
||
this.data.isLoadMore = true;
|
||
this.data.menuList[this.data.tabIndex].isLoadMore = true;
|
||
this.data.menuList[this.data.tabIndex].total_page = _totalPage;
|
||
if (!this.data.menuList[this.data.tabIndex].total_page) {
|
||
this.data.menuList[this.data.tabIndex].total_page = 0;
|
||
}
|
||
this.setData({
|
||
['menuList[' + this.data.tabIndex + '].list']: _list
|
||
});
|
||
} else {
|
||
wx.showToast({
|
||
icon: "none",
|
||
title: res.msg,
|
||
duration: 1000,
|
||
});
|
||
}
|
||
},
|
||
fail: (res) => {
|
||
console.log(res);
|
||
},
|
||
});
|
||
},
|
||
|
||
setCommunities(_data) {
|
||
let arr = [];
|
||
_data.map(item => {
|
||
arr.push({
|
||
id: item.id,
|
||
title: item.title,
|
||
praise_num: item.praise_num,
|
||
has_one_stick_user: {
|
||
avatar: item.user_avatar,
|
||
nickname: item.user_nickname,
|
||
},
|
||
has_many_image: [{
|
||
url: item.image,
|
||
stick_id: item.id
|
||
}]
|
||
});
|
||
});
|
||
return arr;
|
||
},
|
||
|
||
toCard(e) {
|
||
let id = e.currentTarget.dataset.cardid;
|
||
if (id) {
|
||
wx.navigateTo({
|
||
url: '/packageB/member/business_card/BusinessCard/BusinessCard?card_id=' + id +
|
||
'&mark=card'
|
||
});
|
||
}
|
||
},
|
||
gomenphone(e) {
|
||
let mobile = e.currentTarget.dataset.phone;
|
||
wx.makePhoneCall({
|
||
phoneNumber: mobile
|
||
});
|
||
},
|
||
toGood(e) {
|
||
let id = e.currentTarget.dataset.id;
|
||
wx.navigateTo({
|
||
url: '/packageA/detail_v2/detail_v2?id=' + id
|
||
});
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function () {
|
||
let language = wx.getStorageSync('langIndex');
|
||
this.setData({
|
||
'language': language.en
|
||
});
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function () {
|
||
this.setData({
|
||
tabName: '门店详情',
|
||
tabIndex: 0
|
||
});
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function () {
|
||
if (this.data.isLoadMore) {
|
||
this._getMoreData();
|
||
} else {
|
||
console.log('没有更多数据');
|
||
}
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareTimeline: function () {
|
||
return {
|
||
title: this.data.title,
|
||
};
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage: function () {
|
||
this._share();
|
||
return {
|
||
title: this.data.title,
|
||
path: this.data.path
|
||
};
|
||
},
|
||
//获取页面主要信息
|
||
getStore(data) {
|
||
this.setData({
|
||
mainInfo: data,
|
||
telephone: data.store_mobile,
|
||
commentList: data.comment
|
||
});
|
||
},
|
||
_share() {
|
||
let uid = wx.getStorageSync('yz_uid');
|
||
let _title = this.data.mainInfo.store_name || '';
|
||
let _link = '/packageC/o2o/HomeSeller/HomeSeller?share_tag=2&mid=' + uid + '&store_id=' + this.data.store_id;
|
||
this.setData({
|
||
title: _title,
|
||
path: _link
|
||
});
|
||
},
|
||
goToAdress() {
|
||
let latitude = this.data.mainInfo.lat;
|
||
let longitude = this.data.mainInfo.lng;
|
||
let store_name = this.data.mainInfo.store_name;
|
||
let point = app.BMapTransqqMap(parseFloat(longitude), parseFloat(latitude));
|
||
wx.openLocation({
|
||
latitude: point.lat,
|
||
longitude: point.lng,
|
||
scale: 18,
|
||
name: store_name
|
||
});
|
||
},
|
||
gophone() {
|
||
let mobile = this.data.mainInfo.store_mobile;
|
||
wx.makePhoneCall({
|
||
phoneNumber: mobile
|
||
});
|
||
},
|
||
goToShop() {
|
||
wx.navigateTo({
|
||
url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + this.data.store_id + '&fromHome=1'
|
||
});
|
||
},
|
||
goToCrash() {
|
||
wx.navigateTo({
|
||
url: '/packageC/cashier/cashier_pay/cashier_pay?store_id=' + this.data.store_id + '&fromHome=1'
|
||
});
|
||
},
|
||
getStoreInfo() {
|
||
let that = this;
|
||
let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.get-store-info.get-the-provider");
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
data: {
|
||
store_id: this.data.store_id,
|
||
url: ""
|
||
},
|
||
success: function (resdata) {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
if (res.data.store_decorate && res.data.store_decorate.datas) {
|
||
// 判断是否门店装修跳转 "/packageG/o2o/HomeSeller/HomeSeller"
|
||
wx.redirectTo({
|
||
url: '/packageG/o2o/HomeSeller/HomeSeller?store_id=' + that.data.store_id
|
||
});
|
||
return;
|
||
}
|
||
that.getStore(res.data.store_info);
|
||
that.setTabsList(res.data.menu_list);
|
||
that.setData({
|
||
isShow: true,
|
||
get_recommend_goods: res.data.get_recommend_goods
|
||
});
|
||
|
||
if (!app._isTextEmpty(res.data.store_information)) {
|
||
res.data.store_information = res.data.store_information.replace(/<img/gi, '<img style="max-width:100%;height:auto;display:block"');
|
||
that.setData({
|
||
info: res.data.store_information,
|
||
infoShow: true
|
||
});
|
||
}
|
||
|
||
// 门店配送 start ++++++++++++++++++++++++++++
|
||
if (that.data.mainInfo.store_delivery && that.data.mainInfo.store_delivery.delivery_status == 1) {
|
||
that.setData({
|
||
delivery_status: 1,
|
||
delivery_note: that.data.mainInfo.store_delivery ? that.data.mainInfo.store_delivery.delivery_note : '',
|
||
delivery_amount: that.data.mainInfo.store_delivery ? that.data.mainInfo.store_delivery.delivery_amount : 0,
|
||
});
|
||
let delivery_area = that.data.mainInfo.store_delivery ? that.data.mainInfo.store_delivery.delivery_area : [];
|
||
let locations = that.data.mainInfo.store_delivery ? that.data.mainInfo.store_delivery.locations : [];
|
||
let arr_delivery_area = [];
|
||
delivery_area.forEach((item, index) => {
|
||
arr_delivery_area.push([Number(item.R), Number(item.Q)]);
|
||
});
|
||
that.setData({
|
||
delivery_area: arr_delivery_area,
|
||
locations: [Number(locations.longitude).toFixed(6), Number(locations.latitude).toFixed(6)]
|
||
});
|
||
if (that.data.locations && that.data.locations.length > 0) {
|
||
that.setData({
|
||
"markers_2[0].longitude": that.data.locations[0],
|
||
"markers_2[0].latitude": that.data.locations[1],
|
||
"delivery.longitude": that.data.locations[0],
|
||
"delivery.latitude": that.data.locations[1],
|
||
});
|
||
}
|
||
if (that.data.delivery_area && that.data.delivery_area.length > 0) {
|
||
let points = [];
|
||
for (let i = 0; i < that.data.delivery_area.length; i++) {
|
||
points.push({
|
||
longitude: that.data.delivery_area[i][0],
|
||
latitude: that.data.delivery_area[i][1]
|
||
});
|
||
}
|
||
that.setData({
|
||
"polygons_2[0].points": points,
|
||
});
|
||
}
|
||
}
|
||
// end ----------------------------
|
||
} else {
|
||
wx.showToast({
|
||
title: res.msg,
|
||
icon: 'none',
|
||
duration: 1500
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
}
|
||
});
|
||
},
|
||
setTabsList(_data){
|
||
let tabList = [];
|
||
let menuList = [];
|
||
// 处理并重新组装新数组和请求api
|
||
_data.forEach((val, index) => {
|
||
if (val.is_show) {
|
||
tabList.push(val);
|
||
menuList.push({
|
||
isLoadMore: true,
|
||
page: 1,
|
||
total_page: 0,
|
||
list: [],
|
||
url: val.api
|
||
});
|
||
}
|
||
});
|
||
this.setData({tabList,menuList});
|
||
},
|
||
// checked_pet() {
|
||
// if (wx.getStorageSync('is_open_pet') == 1) {
|
||
// this.setData({
|
||
// pet_status: true
|
||
// })
|
||
// }
|
||
// },
|
||
//直播间跳转
|
||
gopage(e) {
|
||
let status = e.currentTarget.dataset.status;
|
||
let id = e.currentTarget.dataset.id;
|
||
let backid = e.currentTarget.dataset.backid;
|
||
if (status == 1) {
|
||
wx.navigateTo({
|
||
url: '/packageD/directSeeding/livePage/livePage?id=' + id + '&playerType=live'
|
||
});
|
||
} else if (status == 2) {
|
||
wx.navigateTo({
|
||
url: '/packageD/directSeeding/livePage/livePage?id=' + id + '&playerType=video' + '&backid=' + backid
|
||
});
|
||
} else if (status == 3) {
|
||
wx.navigateTo({
|
||
url: '/packageD/directSeeding/foreshow/foreshow?id=' + id
|
||
});
|
||
}
|
||
},
|
||
|
||
_getMoreData() {
|
||
let that = this;
|
||
this.data.menuList[this.data.tabIndex].isLoadMore = false;
|
||
this.data.isLoadMore = false; // 防止多次请求分页数据
|
||
|
||
if (this.data.menuList[this.data.tabIndex].page >= this.data.menuList[this.data.tabIndex].total_page) {
|
||
return;
|
||
} else {
|
||
let _list = [];
|
||
let _json = { store_id: this.data.store_id };
|
||
this.data.menuList[this.data.tabIndex].page = this.data.menuList[this.data.tabIndex].page + 1;
|
||
_json.page = this.data.menuList[this.data.tabIndex].page;
|
||
let urlStr = app.getNetAddresss(this.data.menuList[this.data.tabIndex].url);
|
||
app._postNetWork({
|
||
url: urlStr,
|
||
showToastIn: false,
|
||
data: _json,
|
||
success: (resdata)=> {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
that.data.isLoadMore = true;
|
||
|
||
if (this.tabName == "门店微贴") {
|
||
_list = this.setCommunities(res.data);
|
||
} else if (this.tabName == "门店员工") {
|
||
_list = res;
|
||
} else if (res&&res.data) {
|
||
_list = res.data;
|
||
} else {
|
||
console.log("getTabsData()::error", res);
|
||
}
|
||
this.setData({
|
||
['menuList[' + this.data.tabIndex + '].list']: this.data.menuList[this.data.tabIndex].list.concat(_list)
|
||
});
|
||
} else {
|
||
this.data.menuList[this.data.tabIndex].page = this.data.menuList[this.data.tabIndex].page - 1;
|
||
this.data.menuList[this.data.tabIndex].isLoadMore = false;
|
||
this.data.isLoadMore = false;
|
||
return;
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res.msg);
|
||
}
|
||
});
|
||
}
|
||
},
|
||
// 门店独立余额
|
||
goToCode() {
|
||
wx.navigateTo({
|
||
url: '/packageC/cashier/cashier_qr/cashier_qr?name=storeBalance&store_id=' + this.data.store_id,
|
||
});
|
||
},
|
||
getBalance() {
|
||
let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.balance.setting.index");
|
||
app._postNetWork({
|
||
url: urlStr,
|
||
data: {
|
||
store_id: this.data.store_id,
|
||
},
|
||
success: (resdata) => {
|
||
console.log(resdata);
|
||
let res = resdata.data;
|
||
this.setData({
|
||
is_open: res.data.is_open,
|
||
balanceTitle: res.data.title,
|
||
member_balance: res.data.member_balance,
|
||
show_button: res.data.show_button,
|
||
show_qr_code: res.data.show_qr_code,
|
||
});
|
||
},
|
||
fail: function (res) {
|
||
wx.showToast({
|
||
title: res.data.msg,
|
||
duration: 1000,
|
||
icon: 'none'
|
||
});
|
||
}
|
||
});
|
||
}
|
||
// yuyue() {
|
||
// if (wx.getStorageSync('pet_status') == 1) {
|
||
// wx.navigateTo({
|
||
// url: '/packageA/member/editmobile/editmobile',
|
||
// })
|
||
// }
|
||
// if (wx.getStorageSync('pet_status') == 3) {
|
||
// wx.navigateTo({
|
||
// url: '/packageC/hospital/memberinfo/memberinfo',
|
||
// })
|
||
// }
|
||
// if (wx.getStorageSync('pet_status') == 4) {
|
||
// wx.navigateTo({
|
||
// url: '/packageC/hospital/preorder/preorder',
|
||
// })
|
||
// }
|
||
// }
|
||
}); |