251 lines
7.0 KiB
JavaScript
251 lines
7.0 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: [], //产业图谱,
|
|
domainCategoryLoading: true, //特色产业
|
|
platesLoading: true, //产业图谱
|
|
keyEnterpriseLoading: true, //重点企业
|
|
industryLoading: true, //开发园区
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
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
|
|
})
|
|
}, 500);
|
|
},
|
|
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
|
|
_self.setData({
|
|
domainCategoryLoading: true
|
|
})
|
|
DomainService.doGetDomainCategory()
|
|
.then(res => {
|
|
_self.setData({
|
|
domainCategoryLoading: false
|
|
})
|
|
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
|
|
_self.setData({
|
|
platesLoading: true
|
|
})
|
|
DomainService.doGetPlates()
|
|
.then(res => {
|
|
_self.setData({
|
|
platesLoading: false
|
|
})
|
|
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
|
|
_self.setData({
|
|
keyEnterpriseLoading: true
|
|
})
|
|
DomainService.doGetKeyEnterprise()
|
|
.then(res => {
|
|
_self.setData({
|
|
keyEnterpriseLoading: false
|
|
})
|
|
if (res) {
|
|
_self.setData({
|
|
keyEnterpriseList: res
|
|
})
|
|
}
|
|
}, err => {
|
|
wx.showToast({
|
|
icon: "none",
|
|
title: '网络错误(domainEnterprise)',
|
|
})
|
|
})
|
|
},
|
|
//产业园区
|
|
getIndustryArea() {
|
|
var _self = this
|
|
_self.setData({
|
|
industryLoading: true
|
|
})
|
|
DomainService.doGetIndustryArea()
|
|
.then(res => {
|
|
_self.setData({
|
|
industryLoading: false
|
|
})
|
|
if (res && res.rows) {
|
|
_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
|
|
})
|
|
}, 500);
|
|
},
|
|
//园区详情
|
|
showGarden(e) {
|
|
wx.navigateTo({
|
|
url: '/pages/industry-area/industry-area?id=' + e.currentTarget.dataset.id,
|
|
})
|
|
}
|
|
}) |