From 031ead5480c61bb7492079b7473940ed53d5e822 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 07 八月 2024 09:35:01 +0800
Subject: [PATCH] 代码提交

---
 wechat_jiaxuan/components/disRealpic/index.js |  380 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 360 insertions(+), 20 deletions(-)

diff --git a/wechat_jiaxuan/components/disRealpic/index.js b/wechat_jiaxuan/components/disRealpic/index.js
index 17259f9..443057c 100644
--- a/wechat_jiaxuan/components/disRealpic/index.js
+++ b/wechat_jiaxuan/components/disRealpic/index.js
@@ -1,34 +1,374 @@
-// components/disCase/index.js
+import {
+  getCataLogTagList,
+  getZhongTaiRealcasePage,
+  actionDo
+} from '../../api/index'
+import {
+  eventBus
+} from '../../utils/eventBus'
+let touchDot = 0
 Component({
   /**
    * 缁勪欢鐨勫睘鎬у垪琛�
    */
   properties: {
-
+    menuButtonInfo: Object
   },
   data: {
-    showParams: false,
-    activeStatus: '0'
+    // 鍔ㄧ敾
+    showTouch: true,
+    animationData: {},
+
+    activeIndex: -1,
+    activeParam: [],
+    selParam: '',
+    tagCodes: [],
+    isLoading: false,
+
+    cateList: [],
+    dataList: [],
+    pageNum: 1,
+    pageSize: 10,
+    query: '',
+    sortType: '',
+    catalogCode: 'real_case'
   },
-  methods: {
-    handleDetail(e) {
-      wx.navigateTo({
-        url: '/pages/detailDis/realpic',
+  pageLifetimes: {
+    show: function () {
+      // 椤甸潰琚睍绀�
+      console.log('缁勪欢琚睍绀�');
+      eventBus.once('realpicDeBack', (info) => {
+        const dataList = this.data.dataList
+        dataList.forEach(item => {
+          if (item.id === info.id) {
+            if (item.isCollection != info.isCollection) {
+              if (!item.isCollection) {
+                item.collectCount = (item.collectCount || 0) + 1
+              } else if (item.collectCount > 0) {
+                item.collectCount = (item.collectCount || 0) - 1
+              }
+            }
+            item.isCollection = info.isCollection
+            item.viewCount++
+          }
+        })
+        this.setData({
+          dataList
+        })
       })
     },
-    changeShowParams(){
-      const showParams = !this.data.showParams
-      this.setData({showParams})
-      // this.setData({showTwo: false})
+  },
+  attached() {
+    this.getCatelist()
+    this.animation = wx.createAnimation({
+      duration: 600,
+      timingFunction: 'ease',
+    });
+  },
+  methods: {
+    bindscrolltoupper() {
+      this.setData({
+        showTouch: true
+      })
+      this.fadeIn();
     },
-    changeTwo(){
-      const showTwo = !this.data.showTwo
-      this.setData({showTwo})
-      this.setData({showOne: false})
+    touchstart(e) {
+      touchDot = e.detail.scrollTop;
+    },
+    touchmove(e) {
+      var touchMove = e.detail.scrollTop;
+      if (touchDot - touchMove > 16) {
+        touchDot = touchMove
+        this.fadeOut();
+      }
+      if (touchDot - touchMove > 16) {
+        touchDot = touchMove
+        setTimeout(() => {
+          this.setData({ showTouch: true })
+          this.fadeIn();
+        }, 200)
+      }
+    },
+    fadeIn: function () {
+      this.animation.opacity(1).step();
+      this.setData({
+        animationData: this.animation.export()
+      });
+    },
+    fadeOut: function () {
+      this.animation.opacity(0).step();
+      this.setData({
+        animationData: this.animation.export()
+      });
+      setTimeout(() => {
+        this.setData({
+          showTouch: false
+        });
+      }, 200); // 鍔ㄧ敾鎸佺画鏃堕棿
+    },
+    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() {
+      if (this.data.isLoading) {
+        return
+      }
+      this.setData({
+        isLoading: true
+      })
+      const {
+        sortType,
+        query,
+        tagCodes,
+        pageNum,
+        pageSize,
+        catalogCode
+      } = this.data
+      getZhongTaiRealcasePage({
+        catalogCode,
+        tagCodes,
+        pageNum,
+        pageSize,
+        sortType,
+        query
+      }).then(res => {
+        if (res.data && res.data.records) {
+          this.setData({
+            dataList: [...this.data.dataList, ...res.data.records],
+            total: res.data.total,
+          })
+        }
+      }).finally(() => {
+        this.setData({
+          isLoading: false
+        })
+      })
+    },
+    scrolltoupper() {
+      this.setData({
+        pageNum: 1,
+        datalist: [],
+        total: 0
+      })
+      this.getList()
+    },
+    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'
+        })
+      }
+    },
+    videoClick(e) {
+      const {
+        videourl
+      } = e.currentTarget.dataset
+
+      let videoPlay = this.selectComponent('.videoPlay');
+      if (videoPlay) {
+        videoPlay.startPlayVideo(videourl, this);
+      }
+      console.log(videourl + "-------------------------------------")
+      // wx.previewMedia({
+      //   sources: [{ url: videourl, type: 'video' }]
+      // })
+    },
+    priviewFull(e) {
+      const item = e.currentTarget.dataset.item
+      console.log('item', item);
+      wx.navigateTo({
+        url: '/pages/webView/index?link=' + item.openContent,
+        success: function (res) {
+          // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+          res.eventChannel.emit('acceptDataFromOpenerPage', {
+            link: item.openContent,
+            title: item.title
+          })
+        }
+      })
     },
     statusChange(e) {
-      const activeStatus = e.currentTarget.dataset.status
-      this.setData({activeStatus})
-    }
+      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 item = e.currentTarget.dataset.item
+      console.log('item', item);
+      if (item.openType == 'video') {
+
+        let videoPlay = this.selectComponent('.videoPlay');
+        if (videoPlay) {
+          videoPlay.startPlayVideo(item.openContent, this);
+        }
+        // wx.previewMedia({
+        //   sources: [{ url: item.openContent, type: 'video' }]
+        // })
+      }
+      if (item.openType == 'link') {
+        wx.navigateTo({
+          url: '/pages/webView/index?link=' + item.openContent,
+          success: function (res) {
+            // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+            res.eventChannel.emit('acceptDataFromOpenerPage', {
+              link: item.openContent
+            })
+          }
+        })
+      }
+      if (item.openType == 'page') {
+        wx.navigateTo({
+          url: '/pages/detailDis/realpic?id=' + item.id,
+        })
+      }
+    },
+    tagClick(e) {
+      if (this.data.isLoading) {
+        return
+      }
+      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 (cateList[activeIndex].tempParamIndex == null || cateList[activeIndex].tempParamIndex != paramIndex) {
+        cateList[activeIndex].tempParamIndex = paramIndex
+        cateList[activeIndex].tempParamName = activeParam[paramIndex].labelValueName
+        cateList[activeIndex].tempParamCode = code
+      } else {
+        // tagCodes.splice(index, 1)
+        cateList[activeIndex].tempParamIndex = -1
+        cateList[activeIndex].tempParamName = null
+        cateList[activeIndex].tempParamCode = null
+      }
+      // this.setData({ pageNum: 1,dataList: [],total: 0})
+      this.setData({
+        cateList
+      })
+    },
+    cancelParam() {
+      const {
+        cateList
+      } = this.data
+      cateList.forEach(item => {
+        item.tempParamIndex = item.paramIndex
+        item.tempParamName = item.paramName
+        item.tempParamCode = item.paramCode
+      })
+      this.setData({
+        activeParam: [],
+        cateList,
+        activeIndex: -1
+      })
+    },
+    bindblur() {
+      this.setData({
+        pageNum: 1,
+        dataList: [],
+        total: 0
+      })
+      this.getList()
+    },
+    subParam() {
+      const {
+        cateList
+      } = this.data
+      var codes = []
+      cateList.forEach(item => {
+        item.paramIndex = item.tempParamIndex
+        item.paramName = item.tempParamName
+        item.paramCode = item.tempParamCode
+        if (item.tempParamIndex > -1 && item.tempParamCode) {
+          codes.push(item.tempParamCode)
+        }
+      })
+      this.setData({
+        activeParam: [],
+        tagCodes: codes
+      })
+      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
+      })
+    },
   }
-})
+})
\ No newline at end of file

--
Gitblit v1.9.3