Files
dvcp_v2_webapp/project/fengdu/AppBIBoard/AppBIBoard.vue
2023-10-13 18:10:45 +08:00

170 lines
3.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<section class="AppBIBoard" :class="{fullscreen}">
<ai-fit-view>
<ai-dv-wrapper ref="fddv" title="丰收号-家庭互助" :instance="instance" :mask="false">
<template v-slot:head="head">
<fengdu-head v-bind="head" @fullscreen="handleFullScreen" @setting="handleSetting"/>
</template>
<div class="left">
<fd-card label="社群动态概况">
<div class="grid c-2 pad-t14 pad-b20">
<div class="staPanel" v-for="(v,k) in sta" :key="k">
<div v-text="k"/>
<b v-text="v"/>
</div>
<div class="chart">
<div class="title">群活跃率7</div>
<ai-echart :ops="chart" :data="chartData"/>
</div>
<div class="chart">
<div class="title">人员活跃7</div>
<ai-echart :ops="chart" :data="chartData"/>
</div>
</div>
</fd-card>
<fd-card class="mar-t14" label="志愿者">
</fd-card>
</div>
<div class="center fill">
<fd-card label="实时动态">
</fd-card>
</div>
<div class="right">
<fd-card label="功德银行">
</fd-card>
<fd-card label="门户应用统计">
</fd-card>
</div>
</ai-dv-wrapper>
</ai-fit-view>
</section>
</template>
<script>
import AiFitView from "dui/packages/layout/AiFitView.vue";
import FengduHead from "./components/fengduHead.vue";
import FdCard from "./components/fdCard.vue";
import AiEchart from "dui/packages/tools/AiEchart.vue";
import AiHighlight from "dui/packages/layout/AiHighlight.vue";
export default {
name: "AppBIBoard",
label: "丰都指挥舱",
components: {AiHighlight, AiEchart, FdCard, FengduHead, AiFitView},
props: {
instance: Function,
dict: Object
},
data() {
return {
fullscreen: false,
sta: {
群总数: 5118,
群主人数: 956,
'活跃群成员(30天)': '214,098',
'群消息(30天)': '1,214,098',
},
chart: {
series: {
type: 'gauge',
startAngle: 90,
endAngle: -270,
center: ['50%', 74],
radius: 50,
progress: {
overlap: false,
roundCap: true,
clip: false,
},
splitLine: false,
axisTick: false,
axisLine: {
lineStyle: {width: 6}
}
}
},
chartData: []
}
},
methods: {
handleFullScreen() {
this.fullscreen = this.$refs.fddv.handleFullScreen()
},
handleSetting(v) {
this.$refs.fddv.dialog = v
}
},
}
</script>
<style scoped lang="scss">
.AppBIBoard {
color: #CDDBEA;
font-size: 14px;
&.fullscreen {
position: fixed;
z-index: 202310111819;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
:deep(.viewPanel) {
background-image: url("./assets/img_bg.png");
& > .fill {
display: flex;
gap: 20px;
padding: 12px 24px 0;
}
}
.left, .right {
width: 480px;
flex-shrink: 0;
}
.grid {
display: grid;
gap: 14px;
&.c-2 {
grid-template-columns:1fr 1fr
}
}
.staPanel {
text-align: center;
font-size: 15px;
line-height: 20px;
background-size: 100% 100%;
background: url("./assets/staPanel-bg.png") no-repeat;
height: 80px;
padding-top: 14px;
& > b {
font-family: DINAlternate-Bold;
font-size: 22px;
color: #02FEFF;
letter-spacing: 0;
line-height: 36px;
}
}
.chart {
height: 200px;
.title {
padding-left: 10px;
line-height: 30px;
background-image: linear-gradient(270deg, #1f436600 0%, #245a7570 99%);
}
}
}
</style>