|
@@ -22,7 +22,7 @@
|
|
|
<view class="name">{{ item.title }}</view>
|
|
|
<view class="describe">所属分类:{{ item.categoryName }}</view>
|
|
|
<view class="infoBottom">
|
|
|
- <view class="num"><i class="el-icon-view"></i> 访问量:0</view>
|
|
|
+ <view class="num"><i class="el-icon-view"></i> 访问量:{{ item.count }}</view>
|
|
|
<view class="dateTime">{{ item.date }}</view>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -42,7 +42,7 @@
|
|
|
</view>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import {bigdataList, reportList, classifyList, reportClassList} from '@/common/api.js'
|
|
|
+import {bigdataList, reportList, classifyList, reportClassList, getPv} from '@/common/api.js'
|
|
|
import moment from 'moment'
|
|
|
import Cookies from 'js-cookie'
|
|
|
export default {
|
|
@@ -74,6 +74,20 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
methods: {
|
|
|
+ getCount(data, type) {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ if (!data.length) {
|
|
|
+ resolve()
|
|
|
+ } else {
|
|
|
+ let visualIds = data.map(i => i.id)
|
|
|
+ getPv({type, visualIds}).then(rr => {
|
|
|
+ let counts = rr.data.reduce((r, i) => ({...r, [i.visualId]: i.viewCount}), {})
|
|
|
+ data.forEach(item => item.count = counts[item.id] || 0)
|
|
|
+ resolve()
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
getData(reload) {
|
|
|
if (reload) {
|
|
|
this.params.current = 1
|
|
@@ -84,33 +98,37 @@ export default {
|
|
|
if (this.tabIndex === 0) {
|
|
|
bigdataList(data).then(res => {
|
|
|
let data = res.data
|
|
|
- data.forEach(item => {
|
|
|
- item.categoryName = this.visualCategoryPlain.find(i => i.id === item.category)?.categoryValue || ''
|
|
|
- item.date = moment(item.createTime).format('YYYY-MM-DD')
|
|
|
+ this.getCount(data, 0).then(() => {
|
|
|
+ data.forEach(item => {
|
|
|
+ item.categoryName = this.visualCategoryPlain.find(i => i.id === item.category)?.categoryValue || ''
|
|
|
+ item.date = moment(item.createTime).format('YYYY-MM-DD')
|
|
|
+ })
|
|
|
+ if (data.length) this.params.current++
|
|
|
+ if (reload) {
|
|
|
+ this.dataList = data
|
|
|
+ } else {
|
|
|
+ this.dataList = this.dataList.concat(data)
|
|
|
+ }
|
|
|
+ this.lastCreateTime = this.dataList[this.dataList.length - 1]?.createTime || ''
|
|
|
})
|
|
|
- if (data.length) this.params.current++
|
|
|
- if (reload) {
|
|
|
- this.dataList = data
|
|
|
- } else {
|
|
|
- this.dataList = this.dataList.concat(data)
|
|
|
- }
|
|
|
- this.lastCreateTime = this.dataList[this.dataList.length - 1]?.createTime || ''
|
|
|
}).finally(() => this.loading = false)
|
|
|
}
|
|
|
if (this.tabIndex === 1) {
|
|
|
reportList(data).then(res => {
|
|
|
let data = res.data
|
|
|
- data.forEach(item => {
|
|
|
- item.categoryName = this.reportCategoryPlain.find(i => i.id === item.category)?.categoryValue || ''
|
|
|
- item.date = moment(item.createTime).format('YYYY-MM-DD')
|
|
|
+ this.getCount(data, 1).then(() => {
|
|
|
+ data.forEach(item => {
|
|
|
+ item.categoryName = this.reportCategoryPlain.find(i => i.id === item.category)?.categoryValue || ''
|
|
|
+ item.date = moment(item.createTime).format('YYYY-MM-DD')
|
|
|
+ })
|
|
|
+ if (data.length) this.params.current++
|
|
|
+ if (reload) {
|
|
|
+ this.dataList = data
|
|
|
+ } else {
|
|
|
+ this.dataList = this.dataList.concat(data)
|
|
|
+ }
|
|
|
+ this.lastCreateTime = this.dataList[this.dataList.length - 1]?.createTime || ''
|
|
|
})
|
|
|
- if (data.length) this.params.current++
|
|
|
- if (reload) {
|
|
|
- this.dataList = data
|
|
|
- } else {
|
|
|
- this.dataList = this.dataList.concat(data)
|
|
|
- }
|
|
|
- this.lastCreateTime = this.dataList[this.dataList.length - 1]?.createTime || ''
|
|
|
}).finally(() => this.loading = false)
|
|
|
}
|
|
|
},
|