// pages/goodsCate/goodsCate.js const utils = require('../../utils/util.js') Page({ /** * 页面的初始数据 */ data: { showTopList: '', // 一级分类列表 showTop: [], // 一级分类展示 showTopIndex: '', // 一级分类下标 showTwoList: [], // 二级分类列表 showTwo: [], // 二级分类展示 showTwoIndex: '', // 二级分类下标 list: [], // 商品列表 fadeIn: false, // 弹框是否显示 item: '', // 选中的商品数据 keywords: '' // 关键词 }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { if (options.productName) { this.setData({ keywords: options.productName }) } this.getCategoryTop() }, //一级类目 getCategoryTop() { wx.showLoading({ title: '加载中...', mask: true }) wx.cloud.callFunction({ name: 'getNxyData', data: { start: 0, count: 50, $url: 'getCategoryTop' } }).then(res => { wx.hideLoading() let list = res.result.data let showTop = [] let showTopList = [] this.setData({ topList: list }) for (let i = 0; i < list.length; i++) { if (list[i].parent_code === '') { showTopList.push(list[i]) showTop.push(list[i].name) } } this.setData({ showTop, showTopList }) }) }, //二级类目 getTwo() { let parent_code = this.data.showTopList[this.data.showTopIndex].code let showTwo = [] let showTwoList = [] for (let i = 0; i < this.data.topList.length; i++) { let item = this.data.topList[i] if (item.parent_code === parent_code) { showTwoList.push(item) showTwo.push(item.name) } } this.setData({ showTwoList, showTwo }) }, //设置完一级类目之后才可以设置二级类目 setTop(e) { let showTopIndex = e.detail.value this.setData({ showTopIndex, showTwoIndex: '', showTwo: [] }) this.getTwo() this.toFresh() }, //设置二级类目 setTwo(e) { if (this.data.showTopIndex === '') { utils.toast('请先选择一级类目') return } this.setData({ showTwoIndex: e.detail.value }) this.toFresh() }, //获取关键字 getKeywords(e) { let keywords = e.detail.value this.setData({ keywords }) }, //根据条件查询商品 getCategoryAll() { const params = { entTaxId: wx.getStorageSync('entTaxId') } if (utils.trimAll(this.data.keywords)) { params.productName = utils.trimAll(this.data.keywords) } if (this.data.showTwoList && this.data.showTwoIndex && this.data.showTwoList[this.data.showTwoIndex].code) { params.searchCode = this.data.showTwoList[this.data.showTwoIndex].code } utils.axios({ method: 'get', url: '/sys/product/commoditySearch', data: params, sendBefore() { wx.showLoading({ title: '加载中...', mask: true }) }, success: res => { let list = this.data.list for (let i = 0; i < res.data.length; i++) { // 税率转化成% if (res.data[i].sortedRateSet && res.data[i].sortedRateSet.length > 0) { let rateList = [] for (let j = 0; j < res.data[i].sortedRateSet.length; j++) { rateList.push(Number(res.data[i].sortedRateSet[j]) * 100 + '%') } res.data[i].rate = rateList.join(',') } } list = list.concat(res.data) this.setData({ list }) }, complete() { wx.hideLoading() } }) /* let params = { start: this.data.list.length, count: this.data.count, search_code: this.data.showTwoList[this.data.showTwoIndex].code, $url: 'getCategoryAll' } if (utils.trimAll(this.data.keywords) !== '') { params.keyword = utils.trimAll(this.data.keywords) } wx.showLoading({ title: '加载中...', mask: true }) wx.cloud.callFunction({ name: 'getNxyData', data: params }).then(res => { wx.hideLoading() let list = this.data.list list = list.concat(res.result.data) this.setData({ list }) }) */ }, toFresh() { this.setData({ list: [] }) }, //搜索 search() { this.toFresh() this.getCategoryAll() }, //选择展示详情 chooseItem(e) { this.setData({ fadeIn: true, item: this.data.list[e.currentTarget.dataset.index] }) }, hideMoadal() { this.setData({ fadeIn: false, item: '' }) }, selected() { //根据当前默认企业税号和选择的税收分类编码确定可用税率 let params = { entTaxId: wx.getStorageSync('entTaxId'), taxCateCode: this.data.item.code } utils.axios({ method: 'get', url: '/sys/entInfo/rates', data: params, sendBefore() { wx.showLoading({ title: '加载中...', mask: true }) }, success: res => { let rateArray = [0] for (let i = 0; i < res.data.length; i++) { rateArray.push(res.data[i] * 100) } utils.funPrev(prev => { prev.setData({ ['taxRate']: rateArray, ['params.taxationCateCode']: this.data.item.code, ['params.taxationCateName']: this.data.item.name }) wx.navigateBack() }) }, complete() { wx.hideLoading() } }) }, noScroll() {}, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })