|
@@ -8,10 +8,11 @@ var vm = new Vue({
|
|
empty: emptyComponent
|
|
empty: emptyComponent
|
|
},
|
|
},
|
|
data: {
|
|
data: {
|
|
- sessStorageKey: '$data-report_analysis_history',
|
|
|
|
|
|
+ sessStorageKey: '$data-report_analysis_pro_list',
|
|
vanlistParams: {
|
|
vanlistParams: {
|
|
loading: false,
|
|
loading: false,
|
|
- finished: false
|
|
|
|
|
|
+ finished: false,
|
|
|
|
+ scrollTop: 0
|
|
},
|
|
},
|
|
filters: {
|
|
filters: {
|
|
selectKeysArr: [], // 关键词简单数组,用于恢复选择状态
|
|
selectKeysArr: [], // 关键词简单数组,用于恢复选择状态
|
|
@@ -27,7 +28,7 @@ var vm = new Vue({
|
|
},
|
|
},
|
|
},
|
|
},
|
|
listParams: {
|
|
listParams: {
|
|
- sortType: 0, // 项目明细排序方式
|
|
|
|
|
|
+ sort: 0, // 项目明细排序方式
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
pageNum: 1
|
|
pageNum: 1
|
|
},
|
|
},
|
|
@@ -36,14 +37,59 @@ var vm = new Vue({
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
},
|
|
},
|
|
- created: function () {
|
|
|
|
- this.getFilterData()
|
|
|
|
- },
|
|
|
|
mounted: function () {
|
|
mounted: function () {
|
|
- this.reStoreState()
|
|
|
|
|
|
+ const recover = this.reStoreState()
|
|
|
|
+ if (!recover) {
|
|
|
|
+ this.getFilterData()
|
|
|
|
+ }
|
|
utils.iosBackRefresh()
|
|
utils.iosBackRefresh()
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ // 保存页面状态
|
|
|
|
+ saveState: function () {
|
|
|
|
+ this.saveScrollTop()
|
|
|
|
+ var $data = {
|
|
|
|
+ filters: this.filters,
|
|
|
|
+ listParams: this.listParams,
|
|
|
|
+ filterData: this.filterData,
|
|
|
|
+ projectInfo: this.projectInfo,
|
|
|
|
+ vanlistParams: this.vanlistParams
|
|
|
|
+ }
|
|
|
|
+ sessionStorage.setItem(this.sessStorageKey, JSON.stringify($data))
|
|
|
|
+ },
|
|
|
|
+ // 恢复页面数据
|
|
|
|
+ reStoreState: function () {
|
|
|
|
+ var $data = sessionStorage.getItem(this.sessStorageKey)
|
|
|
|
+ if ($data) {
|
|
|
|
+ $data = JSON.parse($data)
|
|
|
|
+ Object.assign(this.filters, $data.filters)
|
|
|
|
+ Object.assign(this.listParams, $data.listParams)
|
|
|
|
+ Object.assign(this.filterData, $data.filterData)
|
|
|
|
+ Object.assign(this.projectInfo, $data.projectInfo)
|
|
|
|
+ Object.assign(this.vanlistParams, $data.vanlistParams)
|
|
|
|
+
|
|
|
|
+ setTimeout(function () {
|
|
|
|
+ // 恢复滚动高度
|
|
|
|
+ this.setScrollTop(this.vanlistParams.scrollTop)
|
|
|
|
+ }.bind(this), 0)
|
|
|
|
+
|
|
|
|
+ sessionStorage.removeItem(this.sessStorageKey)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return $data
|
|
|
|
+ },
|
|
|
|
+ setScrollTop: function (scrollTop) {
|
|
|
|
+ this.$nextTick(function () {
|
|
|
|
+ var wrapper = document.getElementById('analysisList')
|
|
|
|
+ wrapper.scrollTop = scrollTop
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ saveScrollTop: function () {
|
|
|
|
+ var wrapper = document.getElementById('analysisList')
|
|
|
|
+ if (wrapper.scrollTop) {
|
|
|
|
+ this.vanlistParams.scrollTop = parseInt(wrapper.scrollTop)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
// 获取筛选条件并回显
|
|
// 获取筛选条件并回显
|
|
getFilterData () {
|
|
getFilterData () {
|
|
$.ajax({
|
|
$.ajax({
|
|
@@ -105,6 +151,7 @@ var vm = new Vue({
|
|
},
|
|
},
|
|
// 点击项目
|
|
// 点击项目
|
|
setLinkUrl () {
|
|
setLinkUrl () {
|
|
|
|
+ this.saveState()
|
|
if (utils.$envs.inWX) {
|
|
if (utils.$envs.inWX) {
|
|
location.href = '/big/wx/page/pro_follow_detail'
|
|
location.href = '/big/wx/page/pro_follow_detail'
|
|
} else {
|
|
} else {
|
|
@@ -112,6 +159,7 @@ var vm = new Vue({
|
|
}
|
|
}
|
|
},
|
|
},
|
|
setBuyerLink (data) {
|
|
setBuyerLink (data) {
|
|
|
|
+ this.saveState()
|
|
if (utils.$envs.inWX) {
|
|
if (utils.$envs.inWX) {
|
|
location.href = '/big/wx/page/unit_portrayal?entName=' + data.buyer
|
|
location.href = '/big/wx/page/unit_portrayal?entName=' + data.buyer
|
|
} else {
|
|
} else {
|
|
@@ -119,15 +167,18 @@ var vm = new Vue({
|
|
}
|
|
}
|
|
},
|
|
},
|
|
setWinnerLink (id) {
|
|
setWinnerLink (id) {
|
|
|
|
+ this.saveState()
|
|
if (utils.$envs.inWX) {
|
|
if (utils.$envs.inWX) {
|
|
- location.href = '/big/wx/page/ent_portrait?eId=' + id
|
|
|
|
|
|
+ location.href = '/weixin/frontPage/collection/sess/ent_portrait?eId=' + id
|
|
} else {
|
|
} else {
|
|
location.href = '/jyapp/big/page/ent_portrait?eId=' + id
|
|
location.href = '/jyapp/big/page/ent_portrait?eId=' + id
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 设置排序方式
|
|
// 设置排序方式
|
|
setsortType (data) {
|
|
setsortType (data) {
|
|
- this.sortType = data
|
|
|
|
|
|
+ this.listParams.pageNum = 0
|
|
|
|
+ this.listParams.sort = data
|
|
|
|
+ this.onListLoad()
|
|
},
|
|
},
|
|
onListLoad: function () {
|
|
onListLoad: function () {
|
|
this.listParams.pageNum++
|
|
this.listParams.pageNum++
|
|
@@ -144,15 +195,18 @@ var vm = new Vue({
|
|
this.filters.buyerclass = buyerclass
|
|
this.filters.buyerclass = buyerclass
|
|
this.filters.buyer = buyer
|
|
this.filters.buyer = buyer
|
|
this.filters.winner = winner
|
|
this.filters.winner = winner
|
|
|
|
+ let strBuyerClass = ''
|
|
|
|
+ if(buyerclass.length > 0) {
|
|
|
|
+ strBuyerClass = buyerclass.join(',')
|
|
|
|
+ }
|
|
const params = {
|
|
const params = {
|
|
...this.listParams,
|
|
...this.listParams,
|
|
keysItems: JSON.stringify(items),
|
|
keysItems: JSON.stringify(items),
|
|
area: JSON.stringify(area),
|
|
area: JSON.stringify(area),
|
|
industry: JSON.stringify(industry),
|
|
industry: JSON.stringify(industry),
|
|
- buyerclass: JSON.stringify(buyerclass),
|
|
|
|
|
|
+ buyerclass: strBuyerClass,
|
|
buyer: buyer,
|
|
buyer: buyer,
|
|
winner: winner,
|
|
winner: winner,
|
|
- sort: this.listParams.sortType,
|
|
|
|
rangeTime: parseInt(this.filters.rangeTime.start / 1000)+'-'+parseInt(this.filters.rangeTime.end / 1000),
|
|
rangeTime: parseInt(this.filters.rangeTime.start / 1000)+'-'+parseInt(this.filters.rangeTime.end / 1000),
|
|
rangeTimeExtra: this.filters.rangeTimeExtra
|
|
rangeTimeExtra: this.filters.rangeTimeExtra
|
|
}
|
|
}
|
|
@@ -169,6 +223,7 @@ var vm = new Vue({
|
|
this.vanlistParams.loading = false
|
|
this.vanlistParams.loading = false
|
|
if (res && res.error_code === 0 && res.data) {
|
|
if (res && res.error_code === 0 && res.data) {
|
|
if (!res.data.list) {
|
|
if (!res.data.list) {
|
|
|
|
+ this.projectInfo.list = []
|
|
if(loading) {
|
|
if(loading) {
|
|
loading.clear()
|
|
loading.clear()
|
|
}
|
|
}
|
|
@@ -196,6 +251,7 @@ var vm = new Vue({
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
|
|
+ this.projectInfo.list = []
|
|
this.$toast(res.error_msg)
|
|
this.$toast(res.error_msg)
|
|
}
|
|
}
|
|
if(loading) {
|
|
if(loading) {
|
|
@@ -232,59 +288,6 @@ var vm = new Vue({
|
|
Object.assign(defaultConf, conf)
|
|
Object.assign(defaultConf, conf)
|
|
}
|
|
}
|
|
return this.$dialog.confirm(defaultConf)
|
|
return this.$dialog.confirm(defaultConf)
|
|
- },
|
|
|
|
- setScrollTop: function (scrollTop) {
|
|
|
|
- this.$nextTick(function () {
|
|
|
|
- var wrapper = document.querySelector('.van-tabs__content')
|
|
|
|
- wrapper.scrollTop = scrollTop
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- saveScrollTop: function () {
|
|
|
|
- var wrapper = document.querySelector('.van-tabs__content')
|
|
|
|
- if (wrapper.scrollTop) {
|
|
|
|
- this.historyPageState.listState.scrollTop = parseInt(wrapper.scrollTop)
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 重置列表数据
|
|
|
|
- resetHistoryState: function () {
|
|
|
|
- var rState = {
|
|
|
|
- refreshing: false,
|
|
|
|
- loaded: false,
|
|
|
|
- loading: false,
|
|
|
|
- finished: false,
|
|
|
|
- pageNum: 1,
|
|
|
|
- pageSize: 10,
|
|
|
|
- list: []
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- this.historyPageState.scrollTop = 0
|
|
|
|
- Object.assign(this.historyPageState.listState, rState)
|
|
|
|
- },
|
|
|
|
- // 保存页面状态
|
|
|
|
- saveState: function () {
|
|
|
|
- this.saveScrollTop()
|
|
|
|
- var $data = {
|
|
|
|
- historyPageState: this.historyPageState
|
|
|
|
- }
|
|
|
|
- sessionStorage.setItem(this.sessStorageKey, JSON.stringify($data))
|
|
|
|
- },
|
|
|
|
- reStoreState: function () {
|
|
|
|
- var $data = sessionStorage.getItem(this.sessStorageKey)
|
|
|
|
- if ($data) {
|
|
|
|
- $data = JSON.parse($data)
|
|
|
|
- Object.assign(this.historyPageState, $data.historyPageState)
|
|
|
|
-
|
|
|
|
- if (this.tabActiveName === 'history') {
|
|
|
|
- setTimeout(function () {
|
|
|
|
- // 恢复滚动高度
|
|
|
|
- this.setScrollTop(this.historyPageState.scrollTop)
|
|
|
|
- }.bind(this), 0)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- sessionStorage.removeItem(this.sessStorageKey)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return $data
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|