// pages/bookServices/assort/index.js import { getPublicImage } from "../../../assets/js/middleGround/tool"; const app = getApp(); Page({ /** * 页面的初始数据 */ data: { barHeight: "", navBarHeight: "", placeholderstyle: "font-size:28rpx", assortList: [], assortCheck: { name: "", code: "", }, startList: [], startCheck: { id: "", code: "", }, bookList: [], loading: false, listLoding: false, stairListLoading: false, rowCol: [{ width: '50%', }, { width: '100%' }, { width: '80%' }, { width: '100%' }, { width: '100%' }, { width: '100%' }, { width: '50%' }, { width: '100%' }, { width: '80%' }, { width: '100%' }, ], }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { const systInfo = wx.getSystemInfoSync(); const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息 const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度 this.setData({ barHeight: systInfo.statusBarHeight, navBarHeight: navBarHeight, }); this.getAssortList(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() {}, /** * 生命周期函数--监听页面显示 */ onShow() { if (typeof this.getTabBar === "function" && this.getTabBar()) { this.getTabBar().setData({ active: 1, }); } }, /** * 生命周期函数--监听页面隐藏 */ onHide() {}, /** * 生命周期函数--监听页面卸载 */ onUnload() {}, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() {}, /** * 页面上拉触底事件的处理函数 */ onReachBottom() {}, /** * 用户点击右上角分享 */ onShareAppMessage() {}, onShareTimeline() {}, // 获取侧边栏列表 getAssortList() { this.setData({ loading: true, listLoding: true, }); const query = { path: "*", filterList: [{ value: "Normal", field: "state", }, ], queryType: "\\", searchList: [], size: "30", start: "0", storeRefCode: app.config.goodsStore, sort: { type: "Asc", field: "LinkOrder" }, }; app.MG.store.getStoreChannelList(query).then((res) => { const list = res.datas.filter( (item) => item.refCode != "jsek_homepageBookService" ); this.setData({ assortList: list, loading: false, }); this.setData({ assortCheck: { name: res.datas[0].name, code: res.datas[0].refCode, }, }); this.getStairList(res.datas[0].refCode); }); }, // 侧边栏切换 changeAssort(e) { this.setData({ assortCheck: { name: e.detail.label, code: e.detail.value, }, }); this.getStairList(e.detail.value); }, // 获取一级分类 getStairList(path) { this.setData({ stairListLoading: true, startList: [] }); const query = { path, filterList: [{ value: "Normal", field: "state", }, ], queryType: "\\", searchList: [], size: "30", start: "0", storeRefCode: app.config.goodsStore, sort: { type: "Asc", field: "LinkOrder" }, }; app.MG.store.getStoreChannelList(query).then(async (res) => { // 获取二级分类 for (let index = 0; index < res.datas.length; index++) { const item = res.datas[index]; item.icon ? (item.icon = getPublicImage(item.icon, 150)) : (item.icon = item.icon); item.children = await this.getSecondList(item); } // 一级分类赋值 this.setData({ startList: res.datas, listLoding: false, stairListLoading: false, "startCheck.id": res.datas[0].id, "startCheck..code": "", }); }); }, // 获取一级分类下二级分类 async getSecondList(tab) { const path = `${this.data.assortCheck.code}\\${tab.refCode}`; let datas; const query = { path, filterList: [{ value: "Normal", field: "state", }, ], coverSize: { width: 500, }, queryType: "\\", searchList: [], size: "30", start: "0", storeRefCode: app.config.goodsStore, sort: { type: "Asc", field: "LinkOrder" }, }; await app.MG.store.getStoreChannelList(query).then((res) => { for (let index = 0; index < res.datas.length; index++) { const element = res.datas[index]; if (element.icon) element.icon = getPublicImage(element.icon, 150); } datas = res.datas; }); return datas; }, tabClick(e) { const data = e.currentTarget.dataset.tabdata; this.setData({ "startCheck.id": data.id, "startCheck.code": data.refCode, }); }, // 跳转列表页 goPageList(e) { const tab = e.currentTarget.dataset.tabdata; const stair = e.currentTarget.dataset.stair; this.setData({ "startCheck.id": tab.id, "startCheck.code": tab.refCode, }); if (stair) { const secondCode = `${stair.pathLinks[0].linkPath}\\${stair.id}`; wx.navigateTo({ url: `/packageBookService/pages/bookServices/list/index?assorName=${this.data.assortCheck.name}&assortCode=${this.data.assortCheck.code}&stairCode=${this.data.startCheck.code}&secondCode=${secondCode}`, }); } else { wx.navigateTo({ url: `/packageBookService/pages/bookServices/list/index?assorName=${this.data.assortCheck.name}&assortCode=${this.data.assortCheck.code}`, }); } }, navToSearchPage(e) { wx.navigateTo({ url: `/packageBookService/pages/bookServices/list/index?assorName=${this.data.assortCheck.name}&assortCode=${this.data.assortCheck.code}&stairCode=${this.data.startCheck.code}&searchValue=${e.detail.value}`, }); }, });