import { getCataLogTagList, getZhongTaiWholecasePage, actionDo } from '../../api/index' Component({ /** * 组件的属性列表 */ properties: { menuButtonInfo: Object }, data: { activeIndex: -1, activeParam: [], selParam: '', tagCodes: [], cateList: [], dataList: [], total: 0, pageNum: 1, pageSize: 10, query: '', sortType: '', catalogCode: 'whole_case' }, attached() { this.getCatelist() }, methods: { getCatelist() { const { catalogCode } = this.data getCataLogTagList({ catalogCode }).then(res => { if (res.data && res.data.length > 0) { this.setData({ cateList: res.data }) setTimeout(() => { this.getList() }, 300) } }) }, getList() { const { sortType, query, tagCodes, pageNum, pageSize, catalogCode } = this.data getZhongTaiWholecasePage({ catalogCode, pageNum, pageSize, tagCodes, sortType, query }).then(res => { if (res.data) { this.setData({ total: res.data.total, dataList: [...this.data.dataList, ...res.data.records], }) } }) }, scrolltolower() { console.log('触底事件') const { total, dataList, pageNum } = this.data if (total > dataList.length) { this.setData({ pageNum: pageNum + 1 }) this.getList() } else { wx.showToast({ title: '暂无更多数据', icon: 'none' }) } }, statusChange(e) { const sortType = e.currentTarget.dataset.status this.setData({ sortType }) this.setData({ pageNum: 1, dataList: [], total: 0 }) this.getList() }, handleAction(e) { const actionType = e.currentTarget.dataset.code const id = e.currentTarget.dataset.id actionDo({ actionType, id }).then(res => { this.getList() }) }, handleDetail(e) { const id = e.currentTarget.dataset.id wx.navigateTo({ url: '/pages/detailDis/case?id=' + id, }) }, tagClick(e) { const code = e.currentTarget.dataset.code const paramIndex = e.currentTarget.dataset.index const { cateList, tagCodes, activeParam, activeIndex } = this.data const index = tagCodes.indexOf(code) if (index === -1) { // 同param里code重复 if (activeParam && activeParam.length > 0) { activeParam.forEach(item => { const indexTemp = tagCodes.indexOf(item.labelValueCode) if (indexTemp > -1) { tagCodes.splice(indexTemp, 1) } }) } tagCodes.push(code) cateList[activeIndex].paramIndex = paramIndex cateList[activeIndex].paramName = activeParam[paramIndex].labelValueName } else { tagCodes.splice(index, 1) cateList[activeIndex].paramIndex = -1 cateList[activeIndex].paramName = '' } this.setData({ pageNum: 1, dataList: [], total: 0 }) this.setData({ tagCodes, cateList }) console.log('tagCodes', tagCodes) }, cancelParam() { const { cateList } = this.data cateList.forEach(item => { item.paramIndex = -1 item.paramName = item.paramName || '' }) this.setData({ tagCodes: [], activeParam: [], cateList, activeIndex: -1 }) }, bindblur() { this.setData({ pageNum: 1, dataList: [], total: 0 }) this.getList() }, subParam() { this.setData({ activeParam: [] }) this.setData({ pageNum: 1, activeIndex: -1, dataList: [], total: 0 }) this.getList() }, changeShowParams(e) { const { cateList } = this.data const activeIndex = e.currentTarget.dataset.index if (activeIndex === this.data.activeIndex) { this.setData({ activeIndex: -1, activeParam: [], selParam: '' }) } else { this.setData({ activeIndex, activeParam: cateList[activeIndex].valueVos }) } // this.setData({showTwo: false}) }, changeTwo() { const showTwo = !this.data.showTwo this.setData({ showTwo }) this.setData({ showOne: false }) }, } })