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