|  |  |  | 
|---|
|  |  |  | import { getCataLogTagList, getZhongTaiRealcasePage, actionDo } from '../../api/index' | 
|---|
|  |  |  | let touchDot = 0 | 
|---|
|  |  |  | Component({ | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 组件的属性列表 | 
|---|
|  |  |  | 
|---|
|  |  |  | menuButtonInfo: Object | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | acVid: '', | 
|---|
|  |  |  | viewIdList: [], | 
|---|
|  |  |  | // 动画 | 
|---|
|  |  |  | showTouch: true, | 
|---|
|  |  |  | animationData: {}, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | activeIndex: -1, | 
|---|
|  |  |  | activeParam: [], | 
|---|
|  |  |  | selParam: '', | 
|---|
|  |  |  | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | query: '', | 
|---|
|  |  |  | sortType: 'NORMAL', | 
|---|
|  |  |  | sortType: '', | 
|---|
|  |  |  | catalogCode: 'real_case' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | attached() { | 
|---|
|  |  |  | this.getCatelist() | 
|---|
|  |  |  | this.animation = wx.createAnimation({ | 
|---|
|  |  |  | duration: 600, | 
|---|
|  |  |  | timingFunction: 'ease', | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | bindscrolltoupper() { | 
|---|
|  |  |  | this.setData({ showTouch: true }) | 
|---|
|  |  |  | this.fadeIn(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | touchstart(e){ | 
|---|
|  |  |  | touchDot = e.detail.scrollTop; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | touchmove(e) { | 
|---|
|  |  |  | var touchMove = e.detail.scrollTop; | 
|---|
|  |  |  | if(touchMove - touchDot > 24){ | 
|---|
|  |  |  | touchDot = touchMove | 
|---|
|  |  |  | this.fadeOut(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(touchDot - touchMove > 24){ | 
|---|
|  |  |  | 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); // 动画持续时间 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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(){ | 
|---|
|  |  |  | const { catalogCode } = this.data | 
|---|
|  |  |  | getCataLogTagList({ | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 => { | 
|---|
|  |  |  | this.setData({ | 
|---|
|  |  |  | dataList: [...this.data.dataList, ...res.data.records], | 
|---|
|  |  |  | total: res.data.total, | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | if(res.data && res.data.records){ | 
|---|
|  |  |  | this.setData({ | 
|---|
|  |  |  | dataList: [...this.data.dataList, ...res.data.records], | 
|---|
|  |  |  | total: res.data.total | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }).finally(()=>{ | 
|---|
|  |  |  | this.setData({isLoading:false}) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | videoClick(e) { | 
|---|
|  |  |  | const { videourl } = e.currentTarget.dataset | 
|---|
|  |  |  | wx.previewMedia({ | 
|---|
|  |  |  | sources: [{ url: videourl, type: 'video' }] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | let videoPlay = this.selectComponent('.videoPlay'); | 
|---|
|  |  |  | if(videoPlay){ | 
|---|
|  |  |  | videoPlay.startPlayVideo(videourl,this ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | priviewFull(e){ | 
|---|
|  |  |  | const item = e.currentTarget.dataset.item | 
|---|
|  |  |  | 
|---|
|  |  |  | handleDetail(e) { | 
|---|
|  |  |  | const item = e.currentTarget.dataset.item | 
|---|
|  |  |  | console.log('item', item); | 
|---|
|  |  |  | if(item.openType == 'video'){ | 
|---|
|  |  |  | wx.previewMedia({ | 
|---|
|  |  |  | sources: [{ url: item.openContent, type: 'video' }] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(item.openType == 'link'){ | 
|---|
|  |  |  | wx.navigateTo({ | 
|---|
|  |  |  | url: '/pages/webView/index', | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | videoClick(e) { | 
|---|
|  |  |  | const { id } = e.currentTarget.dataset | 
|---|
|  |  |  | const { dataList, acVid, viewIdList } = this.data | 
|---|
|  |  |  | const index = viewIdList.findIndex(i => i === 'video' + id) | 
|---|
|  |  |  | console.log('acVid', acVid); | 
|---|
|  |  |  | console.log('id', id); | 
|---|
|  |  |  | if(acVid){ | 
|---|
|  |  |  | if('video' + id != acVid){ | 
|---|
|  |  |  | wx.createVideoContext(acVid, this).pause() | 
|---|
|  |  |  | wx.createVideoContext('video' + id, this).play() | 
|---|
|  |  |  | this.setData({ acVid: 'video' + id }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | this.setData({ acVid: 'video' + id }) | 
|---|
|  |  |  | wx.createVideoContext('video' + id, this).play() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | dataList.forEach(ite => { | 
|---|
|  |  |  | if(id === ite.id && index === -1){ | 
|---|
|  |  |  | ite.viewCount += 1 | 
|---|
|  |  |  | viewIdList.push('video' + id) | 
|---|
|  |  |  | actionDo({ | 
|---|
|  |  |  | actionType: 'view', | 
|---|
|  |  |  | id: id | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.setData({ viewIdList }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.setData({ dataList }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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(index === -1){ | 
|---|
|  |  |  | // if(activeParam && activeParam.length > 0){ | 
|---|
|  |  |  | //   activeParam.forEach(item => { | 
|---|
|  |  |  | //     const indexTemp = tagCodes.indexOf(item.labelValueCode) | 
|---|
|  |  |  | //     if(indexTemp > -1){ | 
|---|
|  |  |  | //       tagCodes.splice(indexTemp, 1) | 
|---|
|  |  |  | //     } | 
|---|
|  |  |  | //   }) | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | // tagCodes.push(code) | 
|---|
|  |  |  | const { cateList, tagCodes, activeParam, activeIndex } = this.data | 
|---|
|  |  |  | if(   cateList[activeIndex].tempParamIndex==null ||     cateList[activeIndex].tempParamIndex != paramIndex){ | 
|---|
|  |  |  | cateList[activeIndex].tempParamIndex = paramIndex | 
|---|
|  |  |  | cateList[activeIndex].tempParamName = activeParam[paramIndex].labelValueName | 
|---|
|  |  |  | cateList[activeIndex].tempParamCode = code | 
|---|
|  |  |  | console.log(code) | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | cateList[activeIndex].tempParamIndex = -1 | 
|---|
|  |  |  | cateList[activeIndex].tempParamName = null | 
|---|
|  |  |  | cateList[activeIndex].tempParamCode = null | 
|---|
|  |  |  | cateList[activeIndex].tempParamCode = null | 
|---|
|  |  |  | console.log(1) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.setData({  cateList }) | 
|---|
|  |  |  | this.setData({  cateList }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | cancelParam() { | 
|---|
|  |  |  | const { cateList } = this.data | 
|---|