gov_propagandize/pages/domain/domain.js
2025-01-20 17:36:49 +08:00

221 lines
6.1 KiB
JavaScript

// pages/domain/domain.js
const app = getApp();
import DomainService from '../../utils/api/domainApi';
Page({
/**
* 页面的初始数据
*/
data: {
indicatorWidth: 0,
scrollWidth: 0, //滚动视图的总宽度
screenWidth: 0, //屏幕宽度
sliderWidth: 10, //指示器宽度
lastScrollLeft: 0,
lastScrollTop: 0,
defaultSliderWidth: 10, //默认指示器宽度
domainCategoryList: [], //特色产业
keyEnterpriseList: [], //重点企业
showPageLoading: true,
imgBasePath: app.globalData.imgPath,
domainInfo: {}, //产业基础
isAreaExpand: false,
industryAreaList: [], //产业园区
platesList: [], //产业图谱
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
var window = wx.getWindowInfo()
var screenWidth = window.screenWidth
this.setData({
screenWidth: screenWidth - 34
})
var _self = this
//产业基础
_self.getDomainInfo()
//特色产业
_self.getDomainCategory()
//产业图谱
_self.getPlates()
//重点企业
_self.getKeyEnterprise()
//产业园区
_self.getIndustryArea()
setTimeout(() => {
_self.setData({
showPageLoading: false
})
}, 2000);
},
countWidth() {
var _self = this
setTimeout(_ => {
const query = wx.createSelectorQuery().in(this)
query.selectAll('.plates-item').boundingClientRect()
query.exec(res => {
let width = 0
if (res) {
res[0].forEach(x => {
width += x.width
})
}
_self.setData({
scrollWidth: width - _self.data.screenWidth
})
})
}, 5)
},
//产业基础
getDomainInfo() {
var _self = this
DomainService.doGetDomainInfo()
.then(res => {
if (res) {
_self.setData({
domainInfo: res.rows[0]
})
}
}, err => {
wx.showToast({
icon: "none",
title: '网络错误(domainInfo)',
})
})
},
//特色产业
getDomainCategory() {
var _self = this
DomainService.doGetDomainCategory()
.then(res => {
if (res) {
_self.setData({
domainCategoryList: res
})
}
}, err => {
wx.showToast({
icon: "none",
title: '网络错误(domainCategory)',
})
})
},
//特色产业详情
goUniqueDetail(e) {
wx.navigateTo({
url: '/pages/unique-detail/unique-detail?id=' + e.currentTarget.dataset.id,
})
},
//产业图谱
getPlates() {
var _self = this
DomainService.doGetPlates()
.then(res => {
if (res) {
_self.setData({
platesList: res.rows
})
}
_self.countWidth()
}, err => {
wx.showToast({
icon: "none",
title: '网络错误(plates)',
})
})
},
//产业图谱详情
goPlates(e) {
wx.navigateTo({
url: '/pages/plates/plates?id=' + e.currentTarget.dataset.id,
})
},
//重点企业
getKeyEnterprise() {
var _self = this
DomainService.doGetKeyEnterprise()
.then(res => {
if (res) {
_self.setData({
keyEnterpriseList: res
})
}
}, err => {
wx.showToast({
icon: "none",
title: '网络错误(domainEnterprise)',
})
})
},
//产业园区
getIndustryArea() {
var _self = this
DomainService.doGetIndustryArea()
.then(res => {
_self.setData({
industryAreaList: res.rows
})
}, err => {
wx.showToast({
icon: "none",
title: '网络错误(IndustryArea)',
})
})
},
//监听scroll-view滚动
scrollPlates(e) {
var _self = this
let scrollLeft = e.detail.scrollLeft;
var offsetLeft = e.detail.scrollLeft
var scale = _self.data.scrollWidth / 30
var offsetX = offsetLeft / scale
console.log(`${offsetX} ${offsetLeft} ${scale}`)
console.log(`滚动条宽度:${_self.data.sliderWidth}---偏移量:${offsetX}`)
_self.setData({
sliderWidth: _self.data.defaultSliderWidth + offsetX,
lastScrollLeft: scrollLeft
})
},
areaShowAll() {
var _self = this
_self.setData({
isAreaExpand: !_self.data.isAreaExpand
})
},
//公司详情
showCompany(e) {
wx.navigateTo({
url: '/pages/company/company?id=' + e.currentTarget.dataset.id,
})
},
onPullDownRefresh() {
var _self = this
_self.setData({
showPageLoading: true
})
//产业基础
_self.getDomainInfo()
//特色产业
_self.getDomainCategory()
//重点企业
_self.getKeyEnterprise()
//产业园区
_self.getIndustryArea()
_self.getPlates()
setTimeout(() => {
wx.stopPullDownRefresh()
_self.setData({
showPageLoading: false
})
}, 2000);
},
//园区详情
showGarden(e) {
wx.navigateTo({
url: '/pages/industry-area/industry-area?id=' + e.currentTarget.dataset.id,
})
}
})