Files
dvcp_v2_webapp/project/fengdu/AppBIBoard/AppBIBoard.vue

170 lines
3.8 KiB
Vue
Raw Normal View History

2023-10-11 18:21:40 +08:00
<template>
<section class="AppBIBoard" :class="{fullscreen}">
<ai-fit-view>
2023-10-13 18:10:45 +08:00
<ai-dv-wrapper ref="fddv" title="丰收号-家庭互助" :instance="instance" :mask="false">
2023-10-11 18:21:40 +08:00
<template v-slot:head="head">
<fengdu-head v-bind="head" @fullscreen="handleFullScreen" @setting="handleSetting"/>
</template>
2023-10-13 18:10:45 +08:00
<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>
2023-10-11 18:21:40 +08:00
</ai-dv-wrapper>
</ai-fit-view>
</section>
</template>
<script>
import AiFitView from "dui/packages/layout/AiFitView.vue";
import FengduHead from "./components/fengduHead.vue";
2023-10-13 18:10:45 +08:00
import FdCard from "./components/fdCard.vue";
import AiEchart from "dui/packages/tools/AiEchart.vue";
import AiHighlight from "dui/packages/layout/AiHighlight.vue";
2023-10-11 18:21:40 +08:00
export default {
name: "AppBIBoard",
label: "丰都指挥舱",
2023-10-13 18:10:45 +08:00
components: {AiHighlight, AiEchart, FdCard, FengduHead, AiFitView},
2023-10-11 18:21:40 +08:00
props: {
instance: Function,
dict: Object
},
data() {
return {
2023-10-13 18:10:45 +08:00
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: []
2023-10-11 18:21:40 +08:00
}
},
methods: {
handleFullScreen() {
this.fullscreen = this.$refs.fddv.handleFullScreen()
},
handleSetting(v) {
this.$refs.fddv.dialog = v
}
},
}
</script>
<style scoped lang="scss">
.AppBIBoard {
2023-10-13 18:10:45 +08:00
color: #CDDBEA;
font-size: 14px;
2023-10-11 18:21:40 +08:00
&.fullscreen {
position: fixed;
z-index: 202310111819;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
2023-10-12 18:17:46 +08:00
:deep(.viewPanel) {
background-image: url("./assets/img_bg.png");
2023-10-13 18:10:45 +08:00
& > .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%);
}
2023-10-12 18:17:46 +08:00
}
2023-10-11 18:21:40 +08:00
}
</style>