gov_propagandize/pages/domain/domain.js

261 lines
7.3 KiB
JavaScript
Raw Normal View History

2025-01-17 18:01:48 +08:00
// pages/domain/domain.js
2025-01-19 17:56:22 +08:00
const app = getApp();
import DomainService from '../../utils/api/domainApi';
2025-01-17 18:01:48 +08:00
Page({
/**
* 页面的初始数据
*/
data: {
indicatorWidth: 0,
scrollWidth: 0, //滚动视图的总宽度
screenWidth: 0, //屏幕宽度
sliderWidth: 10, //指示器宽度
lastScrollLeft: 0,
lastScrollTop: 0,
defaultSliderWidth: 10, //默认指示器宽度
2025-01-19 17:56:22 +08:00
domainCategoryList: [], //特色产业
keyEnterpriseList: [], //重点企业
showPageLoading: true,
imgBasePath: app.globalData.imgPath,
domainInfo: {}, //产业基础
isAreaExpand: false,
2025-01-20 17:19:30 +08:00
industryAreaList: [], //产业园区
2025-01-21 12:33:11 +08:00
platesList: [], //产业图谱,
2025-02-07 16:29:25 +08:00
domainCategoryLoading: 'loading', //特色产业
platesLoading: 'loading', //产业图谱
keyEnterpriseLoading: 'loading', //重点企业
industryLoading: 'loading', //开发园区
2025-01-17 18:01:48 +08:00
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
var window = wx.getWindowInfo()
var screenWidth = window.screenWidth
this.setData({
screenWidth: screenWidth - 34
})
2025-01-19 17:56:22 +08:00
var _self = this
//产业基础
_self.getDomainInfo()
//特色产业
_self.getDomainCategory()
2025-01-20 17:19:30 +08:00
//产业图谱
_self.getPlates()
2025-01-19 17:56:22 +08:00
//重点企业
_self.getKeyEnterprise()
2025-01-20 17:19:30 +08:00
//产业园区
_self.getIndustryArea()
2025-01-19 17:56:22 +08:00
setTimeout(() => {
_self.setData({
showPageLoading: false
})
2025-01-21 12:33:11 +08:00
}, 500);
2025-01-17 18:01:48 +08:00
},
2025-01-20 17:19:30 +08:00
countWidth() {
2025-01-17 18:01:48 +08:00
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)
},
2025-01-19 17:56:22 +08:00
//产业基础
getDomainInfo() {
var _self = this
DomainService.doGetDomainInfo()
.then(res => {
if (res) {
_self.setData({
domainInfo: res.rows[0]
})
}
}, err => {
wx.showToast({
2025-01-20 17:19:30 +08:00
icon: "none",
2025-01-19 17:56:22 +08:00
title: '网络错误(domainInfo)',
})
})
},
//特色产业
getDomainCategory() {
var _self = this
2025-01-21 12:33:11 +08:00
_self.setData({
2025-02-07 16:29:25 +08:00
domainCategoryLoading: 'loading'
2025-01-21 12:33:11 +08:00
})
2025-01-19 17:56:22 +08:00
DomainService.doGetDomainCategory()
.then(res => {
2025-01-21 12:33:11 +08:00
_self.setData({
2025-02-07 16:29:25 +08:00
domainCategoryLoading: 'success'
2025-01-21 12:33:11 +08:00
})
2025-01-19 17:56:22 +08:00
if (res) {
_self.setData({
domainCategoryList: res
})
}
}, err => {
2025-02-07 16:29:25 +08:00
_self.setData({
domainCategoryLoading: 'error'
})
2025-01-19 17:56:22 +08:00
wx.showToast({
2025-01-20 17:19:30 +08:00
icon: "none",
2025-01-19 17:56:22 +08:00
title: '网络错误(domainCategory)',
})
})
},
2025-01-20 17:19:30 +08:00
//特色产业详情
goUniqueDetail(e) {
wx.navigateTo({
url: '/pages/unique-detail/unique-detail?id=' + e.currentTarget.dataset.id,
})
},
//产业图谱
getPlates() {
var _self = this
2025-01-21 12:33:11 +08:00
_self.setData({
2025-02-07 16:29:25 +08:00
platesLoading: 'loading'
2025-01-21 12:33:11 +08:00
})
2025-01-20 17:19:30 +08:00
DomainService.doGetPlates()
.then(res => {
2025-01-21 12:33:11 +08:00
_self.setData({
2025-02-07 16:29:25 +08:00
platesLoading: 'success'
2025-01-21 12:33:11 +08:00
})
2025-01-20 17:19:30 +08:00
if (res) {
_self.setData({
platesList: res.rows
})
}
_self.countWidth()
}, err => {
2025-02-07 16:29:25 +08:00
_self.setData({
platesLoading: 'error'
})
2025-01-20 17:19:30 +08:00
wx.showToast({
icon: "none",
title: '网络错误(plates)',
})
})
},
//产业图谱详情
goPlates(e) {
wx.navigateTo({
url: '/pages/plates/plates?id=' + e.currentTarget.dataset.id,
})
},
2025-01-19 17:56:22 +08:00
//重点企业
getKeyEnterprise() {
var _self = this
2025-01-21 12:33:11 +08:00
_self.setData({
2025-02-07 16:29:25 +08:00
keyEnterpriseLoading: 'loading'
2025-01-21 12:33:11 +08:00
})
2025-01-19 17:56:22 +08:00
DomainService.doGetKeyEnterprise()
.then(res => {
2025-01-21 12:33:11 +08:00
_self.setData({
2025-02-07 16:29:25 +08:00
keyEnterpriseLoading: 'success'
2025-01-21 12:33:11 +08:00
})
2025-01-19 17:56:22 +08:00
if (res) {
_self.setData({
keyEnterpriseList: res
})
}
}, err => {
2025-02-07 16:29:25 +08:00
_self.setData({
keyEnterpriseLoading: 'error'
})
2025-01-19 17:56:22 +08:00
wx.showToast({
2025-01-20 17:19:30 +08:00
icon: "none",
2025-01-19 17:56:22 +08:00
title: '网络错误(domainEnterprise)',
})
})
},
2025-01-20 17:19:30 +08:00
//产业园区
getIndustryArea() {
var _self = this
2025-01-21 12:33:11 +08:00
_self.setData({
2025-02-07 16:29:25 +08:00
industryLoading: 'loading'
2025-01-21 12:33:11 +08:00
})
2025-01-20 17:19:30 +08:00
DomainService.doGetIndustryArea()
.then(res => {
_self.setData({
2025-02-07 16:29:25 +08:00
industryLoading: 'success'
2025-01-20 17:19:30 +08:00
})
2025-01-21 12:33:11 +08:00
if (res && res.rows) {
_self.setData({
industryAreaList: res.rows
})
}
2025-01-20 17:19:30 +08:00
}, err => {
2025-02-07 16:29:25 +08:00
_self.setData({
industryLoading: 'error'
})
2025-01-20 17:19:30 +08:00
wx.showToast({
icon: "none",
title: '网络错误(IndustryArea)',
})
})
},
2025-01-17 18:01:48 +08:00
//监听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
_self.setData({
sliderWidth: _self.data.defaultSliderWidth + offsetX,
lastScrollLeft: scrollLeft
})
},
2025-01-19 17:56:22 +08:00
areaShowAll() {
var _self = this
_self.setData({
isAreaExpand: !_self.data.isAreaExpand
})
},
2025-01-17 18:01:48 +08:00
//公司详情
2025-01-20 17:19:30 +08:00
showCompany(e) {
2025-01-17 18:01:48 +08:00
wx.navigateTo({
2025-01-20 17:19:30 +08:00
url: '/pages/company/company?id=' + e.currentTarget.dataset.id,
2025-01-17 18:01:48 +08:00
})
},
2025-01-19 17:56:22 +08:00
onPullDownRefresh() {
var _self = this
_self.setData({
showPageLoading: true
})
2025-01-20 17:19:30 +08:00
//产业基础
_self.getDomainInfo()
//特色产业
2025-01-19 17:56:22 +08:00
_self.getDomainCategory()
2025-01-20 17:19:30 +08:00
//重点企业
2025-01-19 17:56:22 +08:00
_self.getKeyEnterprise()
2025-01-20 17:19:30 +08:00
//产业园区
_self.getIndustryArea()
_self.getPlates()
2025-01-19 17:56:22 +08:00
setTimeout(() => {
wx.stopPullDownRefresh()
_self.setData({
showPageLoading: false
})
2025-01-21 12:33:11 +08:00
}, 500);
2025-01-19 17:56:22 +08:00
},
2025-01-17 18:01:48 +08:00
//园区详情
2025-01-20 17:36:49 +08:00
showGarden(e) {
2025-01-17 18:01:48 +08:00
wx.navigateTo({
2025-01-20 17:36:49 +08:00
url: '/pages/industry-area/industry-area?id=' + e.currentTarget.dataset.id,
2025-01-17 18:01:48 +08:00
})
}
})