diff --git a/src/views/mixins/index.js b/src/views/mixins/index.js index e3d9bda..9396533 100644 --- a/src/views/mixins/index.js +++ b/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) diff --git a/src/views/pageOne/index.vue b/src/views/pageOne/index.vue index 2b89e87..4543ba2 100644 --- a/src/views/pageOne/index.vue +++ b/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') } } }