From 04b4bddaac0a222760113899568d20b45af701f4 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 27 九月 2024 19:04:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- wechat_staff/components/disProduct/index.js | 321 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 224 insertions(+), 97 deletions(-) diff --git a/wechat_staff/components/disProduct/index.js b/wechat_staff/components/disProduct/index.js index 7bde532..90b4a64 100644 --- a/wechat_staff/components/disProduct/index.js +++ b/wechat_staff/components/disProduct/index.js @@ -1,4 +1,8 @@ -import { getCatalogList,getCataLogTagList, getZhongTaiProductPage } from '../../api/index' +import { + getCatalogList, + getCataLogTagList, + getZhongTaiProductPage +} from '../../api/index' let touchDot = 0 Component({ /** @@ -19,7 +23,7 @@ cateList: [], secondCateList: [], datalist: [], - isLoading:false, + isLoading: false, pageNum: 1, pageSize: 10, total: 0, @@ -27,12 +31,14 @@ sortType: '', catalogCode: "" }, - attached() { + attached() { this.getCatelist() var app = getApp() console.log('globalData', app.globalData); - if(app.globalData.catalogCode){ - this.setData({ catalogCode: app.globalData.catalogCode }) + if (app.globalData.catalogCode) { + this.setData({ + catalogCode: app.globalData.catalogCode + }) setTimeout(() => { console.log('catalogCode', this.data.catalogCode); getApp().globalData.catalogCode = '' @@ -45,22 +51,26 @@ }, methods: { bindscrolltoupper() { - this.setData({ showTouch: true }) + this.setData({ + showTouch: true + }) this.fadeIn(); }, - touchstart(e){ + touchstart(e) { touchDot = e.detail.scrollTop; }, touchmove(e) { var touchMove = e.detail.scrollTop; - if(touchMove - touchDot > 24){ + if (touchMove - touchDot > 24) { touchDot = touchMove this.fadeOut(); } - if(touchDot - touchMove > 24){ + if (touchDot - touchMove > 24) { touchDot = touchMove setTimeout(() => { - this.setData({ showTouch: true }) + this.setData({ + showTouch: true + }) this.fadeIn(); }, 200) } @@ -77,36 +87,40 @@ animationData: this.animation.export() }); setTimeout(() => { - this.setData({ showTouch: false }); + this.setData({ + showTouch: false + }); }, 200); // 鍔ㄧ敾鎸佺画鏃堕棿 }, - refreshCount(){ - let temData = wx.getStorageSync('conentCountTemp') - if(temData && this.data.datalist){ - var dataList =this.data.datalist; - dataList.forEach(item =>{ - if(item.id+'' == temData.id+'' ){ - item.viewCount = (item.viewCount ||0)+1; - if( item.isCollection != temData.isCollection){ - if(item.isCollection){ - item.collectCount = (item.collectCount || 0)-1 - item.collectCount = item.collectCount >=0? item.collectCount :0; - } else{ - item.collectCount = (item.collectCount || 0)+1 - } - item.isCollection = temData.isCollection - } - } - }) - this.setData({datalist:dataList}) - wx.setStorageSync('conentCountTemp',null) + refreshCount() { + let temData = wx.getStorageSync('conentCountTemp') + if (temData && this.data.datalist) { + var dataList = this.data.datalist; + dataList.forEach(item => { + if (item.id + '' == temData.id + '') { + item.viewCount = (item.viewCount || 0) + 1; + if (item.isCollection != temData.isCollection) { + if (item.isCollection) { + item.collectCount = (item.collectCount || 0) - 1 + item.collectCount = item.collectCount >= 0 ? item.collectCount : 0; + } else { + item.collectCount = (item.collectCount || 0) + 1 + } + item.isCollection = temData.isCollection + } + } + }) + this.setData({ + datalist: dataList + }) + wx.setStorageSync('conentCountTemp', null) } }, - getCatelist(){ + getCatelist() { getCatalogList({ catalogCode: 'product_intro' }).then(res => { - if(res.data && res.data.length > 0){ + if (res.data && res.data.length > 0) { this.setData({ catalogCode: this.data.catalogCode || res.data[0].code, cateList: res.data @@ -131,31 +145,55 @@ }, bindblur() { console.log('澶卞幓鐒︾偣'); - this.setData({ pageNum: 1,datalist: [],total: 0}) + this.setData({ + pageNum: 1, + datalist: [], + total: 0 + }) this.getList() }, - getList() { - const { catalogCode,tagCodes, pageNum, pageSize, sortType, query } = this.data + getList() { + const { + catalogCode, + tagCodes, + pageNum, + pageSize, + sortType, + query + } = this.data getZhongTaiProductPage({ - catalogCode,pageNum,pageSize,sortType,query,tagCodes + catalogCode, + pageNum, + pageSize, + sortType, + query, + tagCodes }).then(res => { - if(res.data && res.data.records){ + if (res.data && res.data.records) { this.setData({ datalist: [...this.data.datalist, ...res.data.records], total: res.data.total }) } - }).finally(()=>{ - this.setData({isLoading:false}) + }).finally(() => { + this.setData({ + isLoading: false + }) }) }, scrolltolower() { console.log('瑙﹀簳浜嬩欢'); - const { total, datalist, pageNum } = this.data - if(total > datalist.length){ - this.setData({ pageNum: pageNum + 1 }) + const { + total, + datalist, + pageNum + } = this.data + if (total > datalist.length) { + this.setData({ + pageNum: pageNum + 1 + }) this.getList() - }else{ + } else { wx.showToast({ title: '鏆傛棤鏇村鏁版嵁', icon: 'none' @@ -163,21 +201,38 @@ } }, cateClick(e) { - var {isLoading} = this.data - if(isLoading){ + var { + isLoading + } = this.data + if (isLoading) { return } - this.setData({isLoading:true}) + this.setData({ + isLoading: true + }) const catalogCode = e.currentTarget.dataset.code - this.setData({ catalogCode, tagCodes: [] }) - this.setData({ pageNum: 1,datalist: [],total: 0}) + this.setData({ + catalogCode, + tagCodes: [] + }) + this.setData({ + pageNum: 1, + datalist: [], + total: 0 + }) this.getTag() this.getList() }, statusChange(e) { const sortType = e.currentTarget.dataset.status - this.setData({sortType}) - this.setData({ pageNum: 1,datalist: [],total: 0}) + this.setData({ + sortType + }) + this.setData({ + pageNum: 1, + datalist: [], + total: 0 + }) this.getList() }, handleDetail(e) { @@ -189,70 +244,142 @@ tagClick(e) { const code = e.currentTarget.dataset.code const paramIndex = e.currentTarget.dataset.index - const { secondCateList, tagCodes, activeParam, activeIndex } = this.data - if( secondCateList[activeIndex].tempParamIndex==null || secondCateList[activeIndex].tempParamIndex != paramIndex){ - // 鍚宲aram閲宑ode閲嶅 - // if (activeParam && activeParam.length > 0) { - // activeParam.forEach(item => { - // const indexTemp = tagCodes.indexOf(item.labelValueCode) - // if (indexTemp > -1) { - // tagCodes.splice(indexTemp, 1) - // } - // }) - // } - //tagCodes.push(code) - secondCateList[activeIndex].tempParamIndex = paramIndex - secondCateList[activeIndex].tempParamCode = code - secondCateList[activeIndex].tempParamName = activeParam[paramIndex].labelValueName + const { + secondCateList, + tagCodes, + activeParam, + activeIndex + } = this.data + // 鐐瑰嚮瀛愭爣绛� + console.log('openRelLabel', secondCateList[activeIndex].openRelLabel); + if (secondCateList[activeIndex].openRelLabel) { + if (secondCateList[activeIndex].tempParamRelIndex == null || secondCateList[activeIndex].tempParamRelIndex != paramIndex) { + secondCateList[activeIndex].tempParamRelIndex = paramIndex + secondCateList[activeIndex].tempParamRelCode = code + secondCateList[activeIndex].tempParamRelName = activeParam[paramIndex].labelValueName + } else { + secondCateList[activeIndex].tempParamRelIndex = -1 + secondCateList[activeIndex].tempParamRelCode = '' + secondCateList[activeIndex].tempParamRelName = '' + } + console.log('secondCateList', secondCateList); } else { - // tagCodes.splice(index, 1) - secondCateList[activeIndex].tempParamIndex = -1 - secondCateList[activeIndex].tempParamCode = '' - secondCateList[activeIndex].tempParamName = '' + // 鐐瑰嚮鐖舵爣绛� + const relLabel = secondCateList[activeIndex].valueVos[paramIndex].relLabel || [] + if (relLabel.length > 0 && relLabel[0].labelCode) { + secondCateList[activeIndex].relLabel = relLabel[0] + }else{ + secondCateList[activeIndex].relLabel = null + } + secondCateList[activeIndex].tempParamRelIndex = -1 + secondCateList[activeIndex].tempParamRelCode = '' + secondCateList[activeIndex].tempParamRelName = '' + if (secondCateList[activeIndex].tempParamIndex == null || secondCateList[activeIndex].tempParamIndex != paramIndex) { + secondCateList[activeIndex].tempParamIndex = paramIndex + secondCateList[activeIndex].tempParamCode = code + secondCateList[activeIndex].tempParamName = activeParam[paramIndex].labelValueName + } else { + secondCateList[activeIndex].tempParamIndex = -1 + secondCateList[activeIndex].tempParamCode = '' + secondCateList[activeIndex].tempParamName = '' + } } - this.setData({ tagCodes, secondCateList }) + this.setData({ + tagCodes, + secondCateList + }) }, - changeShowParams(e){ - const { secondCateList } = this.data + changeShowParams(e) { + const { + secondCateList, + activeParam + } = this.data const activeIndex = e.currentTarget.dataset.index - console.log('activeIndex', activeIndex); - console.log('activeIndex', this.data.activeIndex); - console.log('secondCateList', secondCateList); - if(activeIndex === this.data.activeIndex){ - this.setData({ activeIndex: -1, activeParam: [] }) - }else{ - this.setData({ + const type = e.currentTarget.dataset.type || '' + // console.log('activeIndex', activeIndex); + // 閽堝鏈夊瓙闆嗙殑label + if (type && type == 'child') { + if (secondCateList[activeIndex].openRelLabel) { + secondCateList[activeIndex].openRelLabel = false + this.setData({ + activeIndex, + activeParam: [], + secondCateList + }) + } else { + secondCateList[activeIndex].openRelLabel = true + this.setData({ + activeParam: secondCateList[activeIndex].relLabel.valueVos, + secondCateList, + activeIndex + }) + } + return + } + // 闈炲瓙闆嗙殑label + secondCateList[activeIndex].openRelLabel = false + this.setData({ secondCateList }) + if (activeIndex === this.data.activeIndex && activeParam.length > 0) { + this.setData({ + activeIndex: -1, + activeParam: [] + }) + } else { + this.setData({ activeIndex, activeParam: secondCateList[activeIndex].valueVos }) } - console.log('activeParam', this.data.activeParam); - // this.setData({showTwo: false}) }, cancelParam() { - const { secondCateList } = this.data - secondCateList.forEach(item => { + const { + secondCateList + } = this.data + secondCateList.forEach(item => { item.tempParamIndex = item.paramIndex - item.tempParamName = item.paramName - item.tempParamCode = item.paramCode + item.tempParamName = item.paramName + item.tempParamCode = item.paramCode + item.relLabel = null + item.openRelLabel = false + item.tempParamRelIndex = null + item.tempParamRelCode = null + item.tempParamRelName = null }) // this.setData({ tagCodes: [], activeParam: [], secondCateList, activeIndex: -1 }) - this.setData({ activeParam: [],activeIndex: -1 ,secondCateList}) + this.setData({ + activeParam: [], + activeIndex: -1, + secondCateList + }) }, subParam() { - const { secondCateList } = this.data + const { + secondCateList + } = this.data var codes = [] secondCateList.forEach(item => { - item.paramIndex = item.tempParamIndex - item.paramName = item.tempParamName + item.paramIndex = item.tempParamIndex + item.paramName = item.tempParamName item.paramCode = item.tempParamCode - if( item.paramIndex>-1 && item.tempParamCode){ - codes.push( item.tempParamCode) - } - }) - this.setData({tagCodes:codes}) - this.setData({ pageNum: 1, activeParam: [] ,activeIndex: -1, datalist: [], total: 0 }) + item.openRelLabel = false + if(item.tempParamRelIndex > -1 && item.tempParamRelCode){ + return codes.push(item.tempParamRelCode) + } + if (item.paramIndex > -1 && item.tempParamCode) { + codes.push(item.paramCode) + } + }) + this.setData({ + tagCodes: codes + }) + this.setData({ + pageNum: 1, + activeParam: [], + activeIndex: -1, + datalist: [], + total: 0 + }) this.getList() }, } -}) +}) \ No newline at end of file -- Gitblit v1.9.3