yuminge-app/yun-min-program-plugin-master/packageA/member/supplier/SupplierShop/SupplierShop.js

566 lines
14 KiB
JavaScript

// pages/SupplierShop/SupplierShop.js
var app = getApp();
const INDEX_URL = "plugin.supplier.frontend.shop.index.index";
const GOOD_URL = "plugin.supplier.frontend.shop.index.search-goods";
// const ACTIVITY_URL = "plugin.supplier.frontend.shop.index.goods-limit";
Page({
/**
* 页面的初始数据
*/
data: {
language: '',
customer_open: true,
show1: false,
service_QRcode: '',
service_mobile: '',
cservice:'',
id: '', // 供应商id
order_id: '', // 订单id参数(从订单页面过来的时候带
//首页数据
tab: 0,
sliderShow: false,
indexData: {},
supplierInfo: {},
//商品数据
goodsArr: [],
good_loading: false,
good_allLoaded: false,
good_goload: true,
good_isLoadMore: true,
good_page: 1,
good_total_page: 0,
order_field: '',
order_by: '',
//活动数据
actGoodsArr: [],
act_loading: false,
act_allLoaded: false,
act_goload: true,
act_isLoadMore: true,
act_page: 1,
act_total_page: 0,
//more
isLoadMore: true,
page: 1,
total_page: 0,
roomdataBol: false,
roomdata: [],
keyword: null,
categoryInfo:{}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.init();
if (options.id) {
this.setData({
id: options.id
});
}
wx.setNavigationBarTitle({
title: '供应商店铺',
});
if (options.fromOrder == 1) {
this.setData({
id: '',
order_id: options.id
});
}
this.getIndexData();
},
onChange(e) {
this.data.roomBol = false;
this.setData({
tab: e.currentTarget.dataset.key,
});
if (e.currentTarget.dataset.title == "商品") {
this.setData({
good_page: 1
});
this.getGoodsData();
} else if (e.currentTarget.dataset.title == "活动") {
this.getActivityData();
} else if (e.currentTarget.dataset.title == "直播列表") {
this.data.roomBol = true;
this.getLiveList();
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
let language = wx.getStorageSync('langIndex');
this.setData({ 'language': language.en });
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
getActivityData() {
let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.goods-limit");
app._getNetWork({
url: urlStr,
data: { sid: this.data.id },
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
console.log(res.data.list.data);
this.setData({
actGoodsArr: res.data.list.data,
act_total_page: res.data.list.last_page
});
}
}
});
},
getActivityMoreData() {
this.data.act_isLoadMore = false;
if (this.data.act_page >= this.data.act_total_page) {
return;
} else {
this.data.act_page = this.data.act_page + 1;
let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.goods-limit");
app._getNetWork({
url: urlStr,
data: { sid: this.data.id, page: this.data.act_page },
success: (resdata) => {
var res = resdata.data;
this.data.act_isLoadMore = true;
if (res.result == 1) {
let actGoodsArr = this.data.actGoodsArr.concat(res.data.list.data);//数组拼接
this.setData({
actGoodsArr
});
} else {
this.data.act_page = this.data.act_page - 1;
this.data.act_isLoadMore = false;
}
}
});
}
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if (this.data.current_page >= this.data.good_total_page) {
wx.showToast({
title: '暂无更多',
icon: 'none',
duration: 1000
});
} else {
if (this.data.tab == 1) {
let is_page = this.data.good_page + 1;
this.setData({
good_page: is_page
});
this.nexTgetGoodsData();
} else if (this.data.tab == 2) {
this.getActivityMoreData();
}
}
if (this.data.roomBol && this.data.roomdataBol) {
if (this.data.isLoadMore) {
this._getMoreData();
} else {
console.log('没有更多数据');
}
}
},
_getMoreData() {
let that = this;
let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.get-room");
that.data.isLoadMore = false; // 防止多次请求分页数据
if (this.data.page >= this.data.total_page) {
return;
} else {
this.data.page = this.data.page + 1;
app._postNetWork({
url: urlStr,
showToastIn: false,
data: {
page: this.data.page,
supplier_id: this.data.id,
},
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
isLoadMore: true,
roomdata: that.data.roomdata.concat(res.data.data)
});
} else {
that.setData({
page: that.data.page - 1,
isLoadMore: false
});
return;
}
},
fail: function (res) {
console.log(res.msg);
}
});
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
init() {
this.setData({
customer_open: true,
show1: false,
service_QRcode: '',
service_mobile: '',
cservice:'',
});
},
callPhone() {
wx.makePhoneCall({
phoneNumber: this.data.service_mobile,
});
},
showPop() {
if (this.data.customer_open) {
this.setData({
show1: true
});
}
},
closePop() {
this.setData({
show1: false
});
},
//直播间跳转
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
});
}
},
goToSuppliereInfo() {
wx.navigateTo({
url: "/packageA/member/supplier/SupplierInfo/SupplierInfo?id=" + this.data.id
});
},
gotoChat(evt){
let url = evt.currentTarget.dataset.cservice;
wx.navigateTo({
url: url,
fail:(err)=>{
app.tips("客服路由出错");
}
});
},
//首页
getIndexData() {
let that = this;
let urlStr = app.getNetAddresss(INDEX_URL);
urlStr += '&sid=' + this.data.id;
urlStr += '&order_id=' + this.data.order_id;
app._getNetWork({
url: urlStr,
success: function (resdata) {
let res = resdata.data;
if (res.result == 1) {
if (res.data.is_room && res.data.is_room == 1) {
that.setData({
roomdataBol: true
});
}
that.setData({
id: res.data.supplier.supplier_id,
});
for (let i = 0; i < res.data.list_is_recommand.length; i++) {
if (parseInt(Number(res.data.list_is_recommand[i].market_price == 0))) {
res.data.list_is_recommand[i].notMarket_price = 0;
} else {
res.data.list_is_recommand[i].notMarket_price = 1;
}
}
for (let i = 0; i < res.data.advs.length; i++) {
if (app._isTextEmpty(res.data.advs[i].img)) {
res.data.advs[i].imagShow = false;
} else {
res.data.advs[i].imagShow = true;
}
}
// console.log(res.data.list_is_recommand)
that.setData({
indexData: res.data,
supplierInfo: res.data.supplier,
customer_open: res.data.customer_open == '1' ? true : false,
service_QRcode: res.data.service_QRcode,
service_mobile: res.data.service_mobile,
cservice:res.data.cservice,
});
// console.log(that.data.indexData.advs)
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
getLiveList() {
let that = this;
let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.get-room");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: {
page: this.data.page,
supplier_id: this.data.id,
},
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
total_page: res.data.last_page,
roomdata: res.data.data,
});
} else {
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
//商品
getGoodsData() {
let that = this;
let urlStr = app.getNetAddresss(GOOD_URL);
urlStr += '&sid=' + this.data.id;
urlStr += '&page=' + this.data.good_page;
urlStr += '&order_field=' + this.data.order_field;
urlStr += '&order_by=' + this.data.order_by;
urlStr += `&search[keyword]=${this.data.keyword || ''}`;
app._getNetWork({
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
goodsArr: res.data.data,
good_total_page: res.data.last_page,
current_page: res.data.current_page
});
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
nexTgetGoodsData() {
let that = this;
let urlStr = app.getNetAddresss(GOOD_URL);
urlStr += '&sid=' + this.data.id;
urlStr += '&page=' + this.data.good_page;
urlStr += '&order_field=' + this.data.order_field;
urlStr += '&order_by=' + this.data.order_by;
urlStr += '&search[keyword]=';
app._getNetWork({
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
goodsArr: that.data.goodsArr.concat(res.data.data),
good_total_page: res.data.last_page,
current_page: res.data.current_page
});
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
toggle(e) {
let idx = e.currentTarget.dataset.idx;
let order_field = '';
switch (idx) {
case 2:
this.setData({
hascolor: 2
});
if (this.data.colorshow == '2_2') {
this.setData({
colorshow: '2_1',
});
order_field = 'show_sales';
this.setData({
order_field: order_field,
order_by: 'asc'
});
} else {
this.setData({
colorshow: '2_2',
});
order_field = 'show_sales';
this.setData({
order_field: order_field,
order_by: 'desc'
});
}
break;
case 3:
this.setData({
hascolor: 3,
});
if (this.data.colorshow == '3_2') {
this.setData({
colorshow: '3_1'
});
order_field = 'price';
this.setData({
order_field: order_field,
order_by: 'asc'
});
} else {
this.setData({
colorshow: '3_2'
});
order_field = 'price';
this.setData({
order_field: order_field,
order_by: 'desc'
});
}
break;
case 5:
this.setData({
hascolor: 5,
});
if (this.data.colorshow == '5_2') {
this.setData({
colorshow: '5_1'
});
order_field = 'id';
this.setData({
order_field: order_field,
order_by: 'asc'
});
} else {
this.setData({
colorshow: '5_2'
});
order_field = 'id';
this.setData({
order_field: order_field,
order_by: 'desc'
});
}
break;
}
this.getGoodsData();
},
//跳转搜素
goToSearch() {
//SupplierSearch sid:id
wx.navigateTo({
url: '/packageA/member/supplier/SupplierSearch/SupplierSearch?id='+this.data.id,
});
},
toggleSlide() {
this.setData({
sliderShow: !this.data.sliderShow
});
},
goToUrl(e) {
let type = e.currentTarget.dataset.type;
let url = e.currentTarget.dataset.url;
if (type == 'route' && url == 'home') {
wx.reLaunch({
url: '/packageG/index/index'
});
} else if (type == 'route' && url == 'orderlist') {
wx.navigateTo({
url: '/packageA/member/myOrder_v2/myOrder_v2'
});
} else if (type == 'route' && url == 'member') {
wx.reLaunch({
url: '/packageG/member_v2/member_v2'
});
} else if (type == 'href') {
console.log(url);
}
},
goToDetail(e) {
let id = e.currentTarget.dataset.id;
wx.navigateTo({
url: '/packageA/detail_v2/detail_v2?id=' + id
});
},
goToMoreHot(){
wx.navigateTo({
url: '/packageA/member/supplier/SupplierSearch/SupplierSearch?id='+this.data.id +'&hot=1',
});
},
/**
* 搜索本店商品输入框回车事件
*/
searchConfirm() {
this.setData({
good_page: 1,
tab: 1,
goodsArr: []
}, () => {
this.getGoodsData();
});
}
});