// 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: 'loading', //特色产业 platesLoading: 'loading', //产业图谱 keyEnterpriseLoading: 'loading', //重点企业 industryLoading: 'loading', //开发园区 }, /** * 生命周期函数--监听页面加载 */ 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: 'loading' }) DomainService.doGetDomainCategory() .then(res => { _self.setData({ domainCategoryLoading: 'success' }) if (res) { _self.setData({ domainCategoryList: res }) } }, err => { _self.setData({ domainCategoryLoading: 'error' }) 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: 'loading' }) DomainService.doGetPlates() .then(res => { _self.setData({ platesLoading: 'success' }) if (res) { _self.setData({ platesList: res.rows }) } _self.countWidth() }, err => { _self.setData({ platesLoading: 'error' }) 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: 'loading' }) DomainService.doGetKeyEnterprise() .then(res => { _self.setData({ keyEnterpriseLoading: 'success' }) if (res) { _self.setData({ keyEnterpriseList: res }) } }, err => { _self.setData({ keyEnterpriseLoading: 'error' }) wx.showToast({ icon: "none", title: '网络错误(domainEnterprise)', }) }) }, //产业园区 getIndustryArea() { var _self = this _self.setData({ industryLoading: 'loading' }) DomainService.doGetIndustryArea() .then(res => { _self.setData({ industryLoading: 'success' }) if (res && res.rows) { _self.setData({ industryAreaList: res.rows }) } }, err => { _self.setData({ industryLoading: 'error' }) 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 _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, }) } })