| | |
| | | import { getCataLogTagList, getZhongTaiRealcasePage, actionDo } from '../../api/index' |
| | | import { |
| | | getCataLogTagList, |
| | | getZhongTaiRealcasePage, |
| | | actionDo |
| | | } from '../../api/index' |
| | | import { |
| | | eventBus |
| | | } from '../../utils/eventBus' |
| | | let touchDot = 0 |
| | | Component({ |
| | | /** |
| | | * 组件的属性列表 |
| | | */ |
| | | properties: { |
| | | |
| | | menuButtonInfo: Object |
| | | }, |
| | | data: { |
| | | acVid: '', |
| | | viewIdList: [], |
| | | // 动画 |
| | | showTouch: true, |
| | | animationData: {}, |
| | | |
| | | activeIndex: -1, |
| | | activeParam: [], |
| | | selParam: '', |
| | | tagCodes: [], |
| | | |
| | | isLoading: false, |
| | | |
| | | cateList: [], |
| | | dataList: [], |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | query: '', |
| | | sortType: 'NORMAL', |
| | | sortType: '', |
| | | catalogCode: 'real_case' |
| | | }, |
| | | 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 |
| | | }) |
| | | }) |
| | | }, |
| | | }, |
| | | attached() { |
| | | this.getCatelist() |
| | | this.animation = wx.createAnimation({ |
| | | duration: 600, |
| | | timingFunction: 'ease', |
| | | }); |
| | | }, |
| | | methods: { |
| | | getCatelist(){ |
| | | const { catalogCode } = this.data |
| | | 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); // 动画持续时间 |
| | | }, |
| | | getCatelist() { |
| | | const { |
| | | catalogCode |
| | | } = this.data |
| | | getCataLogTagList({ |
| | | catalogCode |
| | | }).then(res => { |
| | | if(res.data && res.data.length > 0){ |
| | | if (res.data && res.data.length > 0) { |
| | | this.setData({ |
| | | cateList: res.data |
| | | }) |
| | |
| | | }) |
| | | }, |
| | | getList() { |
| | | const { sortType, query, tagCodes, pageNum, pageSize,catalogCode } = this.data |
| | | getZhongTaiRealcasePage({ |
| | | catalogCode,tagCodes,pageNum,pageSize, sortType,query |
| | | }).then(res => { |
| | | this.setData({ dataList: res.data.records }) |
| | | 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 |
| | | wx.previewMedia({ |
| | | sources: [{ url: videourl, type: 'video' }] |
| | | const { id } = e.currentTarget.dataset |
| | | const { dataList, acVid, viewIdList } = this.data |
| | | const index = viewIdList.findIndex(i => i === 'video' + 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 }) |
| | | }, |
| | | priviewFull(e){ |
| | | priviewFull(e) { |
| | | const item = e.currentTarget.dataset.item |
| | | console.log('item', item); |
| | | wx.navigateTo({ |
| | | url: '/pages/webView/index?link=' + item.openContent, |
| | | success: function(res) { |
| | | success: function (res) { |
| | | // 通过eventChannel向被打开页面传送数据 |
| | | res.eventChannel.emit('acceptDataFromOpenerPage', { link: item.openContent, title: item.title }) |
| | | res.eventChannel.emit('acceptDataFromOpenerPage', { |
| | | link: item.openContent, |
| | | title: item.title |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | statusChange(e) { |
| | | const sortType = e.currentTarget.dataset.status |
| | | this.setData({sortType}) |
| | | this.setData({ |
| | | sortType |
| | | }) |
| | | this.setData({ |
| | | pageNum: 1, |
| | | dataList: [], |
| | | total: 0 |
| | | }) |
| | | this.getList() |
| | | }, |
| | | handleAction(e){ |
| | | handleAction(e) { |
| | | const actionType = e.currentTarget.dataset.code |
| | | const id = e.currentTarget.dataset.id |
| | | actionDo({ |
| | |
| | | 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 == 'video') { |
| | | return |
| | | } |
| | | if(item.openType == 'link'){ |
| | | 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'){ |
| | | 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 { |
| | | cateList, |
| | | tagCodes, |
| | | activeParam, |
| | | activeIndex |
| | | } = this.data |
| | | const index = tagCodes.indexOf(code) |
| | | |
| | | if(index === -1){ |
| | | tagCodes.push(code) |
| | | cateList[activeIndex].paramIndex = paramIndex |
| | | cateList[activeIndex].paramName = activeParam[paramIndex].labelValueName |
| | | }else{ |
| | | tagCodes.splice(index, 1) |
| | | cateList[activeIndex].paramIndex = -1 |
| | | cateList[activeIndex].paramName = '' |
| | | 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({ tagCodes, cateList }) |
| | | console.log('tagCodes', tagCodes); |
| | | // this.setData({ pageNum: 1,dataList: [],total: 0}) |
| | | this.setData({ |
| | | cateList |
| | | }) |
| | | }, |
| | | cancelParam() { |
| | | const { cateList } = this.data |
| | | const { |
| | | cateList |
| | | } = this.data |
| | | cateList.forEach(item => { |
| | | item.paramIndex = -1 |
| | | item.paramName = '' |
| | | item.tempParamIndex = item.paramIndex |
| | | item.tempParamName = item.paramName |
| | | item.tempParamCode = item.paramCode |
| | | }) |
| | | this.setData({ tagCodes: [],activeParam: [],cateList,activeIndex: -1 }) |
| | | this.setData({ |
| | | activeParam: [], |
| | | cateList, |
| | | activeIndex: -1 |
| | | }) |
| | | }, |
| | | bindblur() { |
| | | this.setData({ |
| | | pageNum: 1, |
| | | dataList: [], |
| | | total: 0 |
| | | }) |
| | | this.getList() |
| | | }, |
| | | subParam() { |
| | | this.setData({ activeParam: [] }) |
| | | 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 |
| | | 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({ |
| | | if (activeIndex === this.data.activeIndex) { |
| | | this.setData({ |
| | | activeIndex: -1, |
| | | activeParam: [], |
| | | selParam: '' |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | activeIndex, |
| | | activeParam: cateList[activeIndex].valueVos |
| | | }) |
| | | } |
| | | |
| | | |
| | | // this.setData({showTwo: false}) |
| | | }, |
| | | changeTwo(){ |
| | | changeTwo() { |
| | | const showTwo = !this.data.showTwo |
| | | this.setData({showTwo}) |
| | | this.setData({showOne: false}) |
| | | this.setData({ |
| | | showTwo |
| | | }) |
| | | this.setData({ |
| | | showOne: false |
| | | }) |
| | | }, |
| | | } |
| | | }) |
| | | }) |