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_jiaxuan/components/disProduct/index.js | 158 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 114 insertions(+), 44 deletions(-) diff --git a/wechat_jiaxuan/components/disProduct/index.js b/wechat_jiaxuan/components/disProduct/index.js index 59064f2..bc7e2fb 100644 --- a/wechat_jiaxuan/components/disProduct/index.js +++ b/wechat_jiaxuan/components/disProduct/index.js @@ -196,71 +196,141 @@ tagClick(e) { const code = e.currentTarget.dataset.code const paramIndex = e.currentTarget.dataset.index - const { secondCateList, tagCodes, activeParam, activeIndex } = this.data - const index = tagCodes.indexOf(code) - console.log('code', code) - console.log('tagCodes', tagCodes) - console.log(secondCateList) - 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({secondCateList }) + this.setData({ + tagCodes, + secondCateList + }) }, changeShowParams(e) { - const { secondCateList } = this.data + const { + secondCateList, + activeParam + } = this.data const activeIndex = e.currentTarget.dataset.index - console.log('activeIndex', activeIndex) - console.log('secondCateList', secondCateList) - if (activeIndex === this.data.activeIndex) { - this.setData({ activeIndex: -1, activeParam: [] }) + 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 }) } - // 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() }, } -- Gitblit v1.9.3