|
|
@@ -6,26 +6,44 @@
|
|
|
</div>
|
|
|
<el-divider />
|
|
|
<div>
|
|
|
- <div class="click-number">126560</div>
|
|
|
+ <div class="click-number">{{ clickData?.todayClicks }}</div>
|
|
|
<div class="click-compare">
|
|
|
<div class="click-detail">日同比</div>
|
|
|
- <div>12%</div>
|
|
|
- <el-icon v-if="ratio > 0" class="ratio-ico-up"><Top /></el-icon>
|
|
|
- <el-icon v-else class="ratio-ico-down"><Bottom /></el-icon>
|
|
|
+ <div>{{ ratio }}%</div>
|
|
|
+ <el-icon v-if="Number(ratio) > 0" class="ratio-ico-up"><Top /></el-icon>
|
|
|
+ <el-icon v-else-if="Number(ratio) < 0" class="ratio-ico-down"><Bottom /></el-icon>
|
|
|
</div>
|
|
|
</div>
|
|
|
<el-divider />
|
|
|
<div class="click-total">
|
|
|
<div class="click-detail">总点击量</div>
|
|
|
- <div style="margin-left: 22px">12423</div>
|
|
|
+ <div style="margin-left: 22px">{{ clickData?.allClicks }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
import { Top, Bottom } from '@element-plus/icons-vue';
|
|
|
- import { ref } from 'vue';
|
|
|
- const ratio = ref(1);
|
|
|
+ import { computed, onMounted } from 'vue';
|
|
|
+ import usePanel from '../hooks/usePanel';
|
|
|
+
|
|
|
+ const usePanelInfo = usePanel();
|
|
|
+ const { getPanelUserRecord, clickData } = usePanelInfo;
|
|
|
+ onMounted(() => {
|
|
|
+ getPanelUserRecord();
|
|
|
+ });
|
|
|
+ const ratio = computed(() => {
|
|
|
+ if (clickData.value?.yesterdayClicks! === 0 && clickData.value?.todayClicks! !== 0) {
|
|
|
+ return 100;
|
|
|
+ } else if (clickData.value?.yesterdayClicks! === 0 && clickData.value?.todayClicks! === 0) {
|
|
|
+ return 0;
|
|
|
+ } else {
|
|
|
+ return Number(
|
|
|
+ ((clickData.value?.todayClicks! - clickData.value?.yesterdayClicks!) * 100) /
|
|
|
+ clickData.value?.yesterdayClicks!,
|
|
|
+ ).toFixed(2);
|
|
|
+ }
|
|
|
+ });
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
@@ -74,6 +92,10 @@
|
|
|
margin-top: 4px;
|
|
|
}
|
|
|
|
|
|
+ .ratio-ico-right {
|
|
|
+ margin-top: 4px;
|
|
|
+ }
|
|
|
+
|
|
|
.ratio-ico-down {
|
|
|
color: green;
|
|
|
margin-top: 3px;
|