Browse Source

pageone统计数据

master
xuhuajiao 1 year ago
parent
commit
713862aaf9
  1. 11
      src/views/mixins/index.js
  2. 119
      src/views/pageOne/index.vue

11
src/views/mixins/index.js

@ -21,7 +21,8 @@ export const pageCrud = {
updateTime: '',
oldUpdateTime: JSON.parse(localStorage.getItem('updateTime')) || '',
welcomeData: [],
videoData: []
videoData: [],
pageOneBaseData: { }
}
},
computed: {
@ -81,6 +82,14 @@ export const pageCrud = {
this.baseSetting = res.data.settings
this.welcomeData = res.data.screenWelcomePromotions
this.videoData = res.data.screenPromotionVideos
this.pageOneBaseData = {
lastMonthVisitBase: res.data.lastMonthVisitBase || 0,
lastYearVisitBase: res.data.lastYearVisitBase || 0,
todayVisitBase: res.data.todayVisitBase || 0,
thisMonthVisitBase: res.data.thisMonthVisitBase || 0,
visitBase: res.data.visitBase || 0,
yesterdayVisitBase: res.data.yesterdayVisitBase || 0
}
// this.wecharQrCodeSrc = linkSrc + '/downloadFile' + result.wecharQrCode
this.wecharQrCodeSrc = result.wechar_qr_code.context
localStorage.setItem('wecharQrCodeSrc', this.wecharQrCodeSrc)

119
src/views/pageOne/index.vue

@ -216,11 +216,17 @@ export default {
baseSetting: {
handler(result) {
if (!result) return
this.wecharQrCodeSrc = result.wechar_qr_code?.context || ''
if (result.visit_base && result.wechar_qr_code) {
this.pageOneVisitBase = result.visit_base.context
// this.pageOneVisitBase = result.visit_base?.context
const arrivalSetting = result.arrival_library_setting?.context || '2'
if (arrivalSetting === '1') {
console.log('pageOneBaseData实际值:', this.pageOneBaseData)
if (this.pageOneBaseData) {
this.initLeftBaseData(this.pageOneBaseData)
} else {
console.warn('pageOneBaseData 尚未加载,暂不执行 initLeftBaseData')
}
} else if (arrivalSetting === '2') {
this.initLeftPreview(result)
}
@ -233,6 +239,15 @@ export default {
}
},
immediate: true
},
pageOneBaseData: {
handler(data) {
const arrivalSetting = this.baseSetting?.arrival_library_setting?.context
if (arrivalSetting === '1' && data) {
this.initLeftBaseData(data)
}
},
immediate: true
}
},
async created() {
@ -277,7 +292,8 @@ export default {
this.getMiddleAllData(result)
})
},
initLeftPreview2(result) {
initLeftBaseData(result) {
// visitBase 本年累计人次 visitBaseCheck 是否直接显示 0false 1true
// last_year_visit_base 去年累计人次
// today_visit 今日人次 remarks 是否显示
@ -289,40 +305,40 @@ export default {
this.progressData.push(
// {
// name: '今日到馆',
// value: result.today_visit.context,
// value: result.todayVisitBase,
// type: 1
// },
{
name: '本年到馆',
value: result.visit_base.context,
value: result.visitBase,
type: 1
},
{
name: '本月到馆',
value: result.this_month_visit.context,
value: result.thisMonthVisitBase,
type: 2
},
// {
// name: '昨日到馆',
// value: result.yesterday_visit.context,
// value: result.yesterdayVisitBase,
// type: 3
// },
{
name: '去年到馆',
value: result.last_year_visit_base.context,
value: result.lastYearVisitBase,
type: 3
},
{
name: '上月到馆',
value: result.last_month_visit.context,
value: result.lastMonthVisitBase,
type: 4
}
)
const newData = [{
id: 'totayTotal',
name: '今日到馆',
value: this.$parent.formatter(result.today_visit.context),
valueArr: this.$parent.formatter(result.today_visit.context).split(''),
value: this.$parent.formatter(result.todayVisitBase),
valueArr: this.$parent.formatter(result.todayVisitBase).split(''),
timestamp: Date.now()
}]
@ -350,7 +366,7 @@ export default {
// last_month_visit 上个月人次
// remarks 是否显示
this.pageOneVisitBase = result.visit_base.context
this.pageOneVisitBase = result.visit_base?.context
const baseTotal = this.pageOneVisitBase // 本年到馆人数
console.log('假设本年到馆人数', baseTotal)
// 本年到馆/12个月 = 月基数
@ -369,16 +385,16 @@ export default {
console.log('日基数', dayBase)
// 本年累计=月基数*月份+月随机数(-100到200之间)
let nowYearCount
if (result.visit_base.remarks === '1') {
nowYearCount = result.visit_base.context
if (result.visit_base?.remarks === '1') {
nowYearCount = result.visit_base?.context
} else {
nowYearCount = Math.floor(monthBase * month + randomMonth) // 本年累计
}
console.log('本年累计', nowYearCount)
// 昨日到馆=日基数+日随机数(-20到50之间)
let yesterdayCount = 0
if (result.yesterday_visit.remarks === '1') {
yesterdayCount = result.yesterday_visit.context
if (result.yesterday_visit?.remarks === '1') {
yesterdayCount = result.yesterday_visit?.context
} else {
const randomDay = Math.floor(Math.random() * (50 - (-20) + 1)) + (-20) // 日随机数(-20到50之间)
// yesterdayCount = localStorage.getItem('yesterdayCountCache') ? localStorage.getItem('yesterdayCountCache') : dayBase + randomDay // 昨日到馆
@ -387,8 +403,8 @@ export default {
console.log('昨日到馆', yesterdayCount)
// 上月到馆=月基数+月随机数(-100到200之间)
let lastMonthCount = 0
if (result.last_month_visit.remarks === '1') {
lastMonthCount = result.last_month_visit.context
if (result.last_month_visit?.remarks === '1') {
lastMonthCount = result.last_month_visit?.context
} else {
// lastMonthCount = localStorage.getItem('lastMonthCountCache') ? localStorage.getItem('lastMonthCountCache') : monthBase + randomMonth
lastMonthCount = monthBase + randomMonth
@ -406,8 +422,8 @@ export default {
// 今日到馆=小时基数 * 第N小时+小时随机数(-5到10之间)
let todayCount = 0
if (result.today_visit.remarks === '1') {
todayCount = result.today_visit.context
if (result.today_visit?.remarks === '1') {
todayCount = result.today_visit?.context
} else {
if (currentHour < openTime || currentHour >= closeTime) {
console.log('当前时间不在图书馆营业时间内')
@ -422,8 +438,8 @@ export default {
console.log('今日到馆', todayCount)
// 本月到馆=月基数 * (当前月的日期dd/当前月的天数)+ 月随机数(-100到200之间)
let nowMonthCount = 0
if (result.this_month_visit.remarks === '1') {
nowMonthCount = result.this_month_visit.context
if (result.this_month_visit?.remarks === '1') {
nowMonthCount = result.this_month_visit?.context
} else {
if (now.getDate() === 1) {
nowMonthCount = todayCount
@ -456,7 +472,7 @@ export default {
// },
{
name: '去年到馆',
value: result.last_year_visit_base.context,
value: result.last_year_visit_base?.context,
type: 3
},
{
@ -865,6 +881,59 @@ export default {
this.update()
}, 40) // 定时器执行 不能写setInterval(this.update(), 30)
})
},
initLeftPreview2(result) {
// visitBase 本年累计人次 visitBaseCheck 是否直接显示 0false 1true
// last_year_visit_base 去年累计人次
// today_visit 今日人次 remarks 是否显示
// yesterday_visit 昨天人次 remarks 是否显示
// this_month_visit 本月人次 remarks 是否显示
// last_month_visit 上个月人次 remarks 是否显示
this.progressData = []
this.leftData = []
this.progressData.push(
// {
// name: '今日到馆',
// value: result.today_visit.context,
// type: 1
// },
{
name: '本年到馆',
value: result.visit_base.context,
type: 1
},
{
name: '本月到馆',
value: result.this_month_visit.context,
type: 2
},
// {
// name: '昨日到馆',
// value: result.yesterday_visit.context,
// type: 3
// },
{
name: '去年到馆',
value: result.last_year_visit_base.context,
type: 3
},
{
name: '上月到馆',
value: result.last_month_visit.context,
type: 4
}
)
const newData = [{
id: 'totayTotal',
name: '今日到馆',
value: this.$parent.formatter(result.today_visit.context),
valueArr: this.$parent.formatter(result.today_visit.context).split(''),
timestamp: Date.now()
}]
this.$set(this, 'leftData', newData)
this.$parent.timedRefresh(this.leftData, 'left')
}
}
}

Loading…
Cancel
Save