gov_propagandize/pages/index/index.js
2025-02-07 16:29:25 +08:00

390 lines
11 KiB
JavaScript

import IndexService from '../../utils/api/indexApi';
import utils from '../../utils/util';
const app = getApp();
var defaultAvatarUrl = '';
const date = new Date()
Page({
data: {
isExpand: false, //简介展开和收起
collapseText: '收起',
expandText: '查看更多>>',
isAreaExpand: false, //投资环境展开和收起
isShowAreaExpand: false, //是否显示投资环境展开收起
years: [],
year: date.getFullYear(),
tempYear: '',
yearValue: [0],
showActionsheet: false,
list: [],
isLoading: false,
count: 1,
hasMore: true,
isFixed: false,
opacity: 1,
activeTab: 0,
indicatorWidth: 0,
scrollWidth: 0, //滚动视图的总宽度
screenWidth: 0, //屏幕宽度
sliderWidth: 20, //指示器宽度
lastScrollLeft: 0,
defaultSliderWidth: 20, //默认指示器宽度
isShowDot: false, //是否显示指示器
testList: [],
showPageLoading: true,
descVideoUrl: '',
descVideoCover: '',
descContent: "",
statisticsList: [], //数据统计
investList: [], //投资机会
investAreaId: "b4945b87-fe05-4af3-8453-65451b3137a3", //投资环境
investAreaBean: null,
imgBasePath: app.globalData.imgPath,
superiorityList: [], //投资优势,
investAreaList: [], //投资环境List
investLoading: 'loading',
isLoading: true,
showInvestLoading: 'loading',
superiorityLoading: 'loading'
},
onLoad(e) {
var _self = this
var temp = []
for (let i = 2010; i <= _self.data.year; i++) {
temp.push(i)
}
_self.setData({
years: temp.reverse()
})
_self.setData({
'yearValue[0]': _self.data.years.indexOf(_self.data.year)
})
//屏幕宽度
var window = wx.getWindowInfo()
var screenWidth = window.screenWidth
this.setData({
screenWidth: screenWidth - 34
})
setTimeout(() => {
_self.setData({
showPageLoading: false
})
}, 1000);
//获取简介
this.getDescVideo()
//介绍
this.getDesc()
//数据统计
this.getStatistics()
//投资机会
this.getInvest()
//默认获取地区概况
this.getInvestAreaCategory()
//投资环境
this.getSuperiority()
},
onReady() {
this.videoContext = wx.createVideoContext('descVideo', this); // 创建videoContext实例
},
onShow() {
if (this.videoContext) {
this.videoContext.pause()
}
},
//视频介绍
getDescVideo() {
var _self = this
IndexService.doGetDescVideo()
.then(res => {
_self.setData({
descVideoUrl: _self.data.imgBasePath + res.rows[0].fileList[0].contentFileFileId,
descVideoCover: _self.data.imgBasePath + res.rows[0].fileList[0].contentFileCoverId
})
}, err => {
wx.showToast({
icon: "none",
title: '网络错误(video)',
})
})
},
//简介
getDesc() {
var _self = this
IndexService.doGetDescInfo()
.then(res => {
if (res) {
_self.setData({
descContent: res.rows[0].newsContentContent
})
}
}, err => {
console.log(err)
wx.showToast({
icon: "none",
title: '网络错误(简介)',
})
})
},
//数据统计
getStatistics() {
var _self = this
IndexService.doGetStatistics({
year: _self.data.year
})
.then(res => {
if (res) {
res.forEach(item => {
var scale = item.value > 100 ? 100 : 1
item.progress = `${item.value}%`
item.color = utils.randomLight()
item.fontColor = utils.randomDark()
});
_self.setData({
statisticsList: res
})
}
}, err => {
console.log(err)
wx.showToast({
icon: "none",
title: '网络错误(数据统计)',
})
})
},
//投资机会
getInvest() {
var _self = this
_self.setData({
showInvestLoading: 'loading'
})
IndexService.doGetInvest()
.then(res => {
_self.setData({
showInvestLoading: 'success'
})
if (res) {
_self.setData({
investList: res
})
}
}, err => {
_self.setData({
showInvestLoading: 'error'
})
wx.showToast({
icon: "none",
title: '网络错误(投资机会)',
})
})
},
goInvestDetail(e) {
var id = e.currentTarget.dataset.id
wx.navigateTo({
url: '/pages/invest-detail/invest-detail?id=' + id,
})
},
//投资环境详情
getInvestArea(id) {
var _self = this
_self.setData({
investLoading: 'loading'
})
IndexService.doGetInvestArea({
newsDirectoriesId: id
})
.then(res => {
console.log('投资环境成功')
_self.setData({
investLoading: 'success'
})
if (res) {
_self.setData({
investAreaBean: res.rows[0]
})
}
}, err => {
console.log('投资环境错误')
_self.setData({
investLoading: 'error'
})
wx.showToast({
icon: "none",
title: '网络错误(InvestArea)',
})
})
},
//投资优势
getSuperiority() {
var _self = this
_self.setData({
superiorityLoading: 'loading'
})
IndexService.doGetSuperiorityList()
.then(res => {
_self.setData({
superiorityLoading: 'success'
})
if (res) {
_self.setData({
superiorityList: res
})
}
_self.countWidth()
}, err => {
_self.setData({
superiorityLoading: 'error'
})
wx.showToast({
icon: "none",
title: '网络错误(superiority)',
})
})
},
//投资优势详情
goSuperiorityDetail(e) {
wx.navigateTo({
url: '/pages/superiority-detail/superiority-detail?id=' + e.currentTarget.dataset.id,
})
},
//获取投资环境分类
getInvestAreaCategory() {
var _self = this
_self.setData({
investLoading: 'loading'
})
IndexService.doGetInvestAreaCategory()
.then(res => {
if (res) {
_self.setData({
investAreaList: res
})
_self.getInvestArea(_self.data.investAreaId)
}
}, err => {
_self.setData({
investLoading: 'error'
})
wx.showToast({
icon: "none",
title: '网络错误(InvestCategory)',
})
})
},
//计算滚动框的宽度
countWidth() {
var _self = this
//计算滑动区域宽度
setTimeout(_ => {
const query = wx.createSelectorQuery().in(this)
query.selectAll('.superiority-item').boundingClientRect()
query.exec(res => {
let width = 0
let count = 0
if (res) {
res[0].forEach(x => {
width += x.width
})
count = res[0].length - 1
}
//总长度 //剩余宽度
var totalWidth = count * 10 + width
_self.setData({
isShowDot: (totalWidth / 343) > 1
})
var surplus = totalWidth - 343
_self.setData({
scrollWidth: surplus
})
})
}, 5)
},
//监听scroll-view滚动
scrollPlates(e) {
var _self = this
var offsetLeft = e.detail.scrollLeft
var scale = _self.data.scrollWidth / 20 //缩放比例
var offsetX = offsetLeft / scale
_self.setData({
sliderWidth: _self.data.defaultSliderWidth + offsetX,
lastScrollLeft: offsetLeft
})
},
//展开或收起简介
expandClick() {
this.setData({
isExpand: !this.data.isExpand
})
},
changeTab(e) {
this.setData({
investAreaId: e.currentTarget.dataset.id
})
this.getInvestArea(this.data.investAreaId)
},
showYears() {
this.setData({
showActionsheet: !this.data.showActionsheet
})
},
closeSheet() {
this.setData({
showActionsheet: !this.data.showActionsheet
})
},
//选中日期
confirmSheet() {
this.setData({
showActionsheet: !this.data.showActionsheet,
year: this.data.tempYear
})
this.getStatistics()
},
//投资环境查看更多
areaShowAll() {
var _self = this
_self.setData({
isAreaExpand: !_self.data.isAreaExpand
})
console.log(_self.data.isAreaExpand)
},
bindChange(e) {
var _self = this
var index = e.detail.value[0]
_self.setData({
tempYear: _self.data.years[index]
})
},
//投资机会-全部
showInvest() {
wx.navigateTo({
url: '/pages/invest/invest',
})
},
onPullDownRefresh() {
var _self = this
_self.setData({
showPageLoading: true
})
setTimeout(() => {
wx.stopPullDownRefresh()
_self.setData({
showPageLoading: false
})
}, 2000);
//获取简介
_self.getDescVideo()
//介绍
_self.getDesc()
//数据统计
_self.getStatistics()
//投资机会
_self.getInvest()
//默认获取地区概况
_self.getInvestAreaCategory()
//投资环境
_self.getSuperiority()
}
})