// 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(); }); } });