index.vue 4.7 KB
Newer Older
P
init  
Pan 已提交
1
<template>
P
Pan 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
	<div class="dashboard-editor-container">
		<a href="https://github.com/PanJiaChen/vue-element-admin" target="_blank" class="github-corner" aria-label="View source on Github">
			<svg width="80" height="80" viewBox="0 0 250 250" style="fill:#4AB7BD; color:#fff; position: absolute; top: 50px; border: 0; right: 0;"
			  aria-hidden="true">
				<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
				<path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
				  fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>
				<path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
				  fill="currentColor" class="octo-body"></path>
			</svg>
		</a>
		<el-row class="btn-group">
			<el-col :span="4" class='text-center'>
				<router-link class="pan-btn blue-btn" to="/components/index">Components</router-link>
			</el-col>
			<el-col :span="4" class='text-center'>
				<router-link class="pan-btn light-blue-btn" to="/charts/index">Charts</router-link>
			</el-col>
			<el-col :span="4" class='text-center'>
				<router-link class="pan-btn pink-btn" to="/excel/download">Excel</router-link>
			</el-col>
			<el-col :span="4" class='text-center'>
				<router-link class="pan-btn green-btn" to="/example/table/table">Table</router-link>
			</el-col>
			<el-col :span="4" class='text-center'>
				<router-link class="pan-btn tiffany-btn" to="/example/form/edit">Form</router-link>
			</el-col>
			<el-col :span="4" class='text-center'>
S
spiritree 已提交
30
				<router-link class="pan-btn yellow-btn" to="/theme/index">Theme</router-link>
P
Pan 已提交
31 32
			</el-col>
		</el-row>
P
Pan 已提交
33

P
Pan 已提交
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
		<el-row>
			<el-col :span="6">
				<el-card class="box-card">
					<div slot="header" class="box-card-header">
						<pan-thumb class="panThumb" :image="avatar"> 你的权限:
							<span class="pan-info-roles" :key='item' v-for="item in roles">{{item}}</span>
						</pan-thumb>
					</div>
					<span class="display_name">{{name}}</span>
					<div class="info-item">
						<countTo class="info-item-num" :startVal='0' :endVal='statisticsData.article_count' :duration='3400'></countTo>
						<span class="info-item-text">文章</span>
						<icon-svg icon-class="a" class="dashboard-editor-icon"></icon-svg>
					</div>
					<div class="info-item">
						<countTo class="info-item-num" :startVal='0' :endVal='statisticsData.pageviews_count' :duration='3600'></countTo>
						<span class="info-item-text">浏览量</span>
						<icon-svg icon-class="b" class="dashboard-editor-icon"></icon-svg>
					</div>
				</el-card>
			</el-col>
P
Pan 已提交
55

P
Pan 已提交
56 57 58
			<el-col :span="8">
				<pie-chart></pie-chart>
			</el-col>
P
Pan 已提交
59

P
Pan 已提交
60 61 62 63
			<el-col :span="10">
				<bar-chart></bar-chart>
			</el-col>
		</el-row>
P
Pan 已提交
64

P
Pan 已提交
65 66 67 68 69 70 71 72
		<el-row :gutter="20">
			<el-col :span="15">
				<line-chart></line-chart>
			</el-col>
			<el-col :span="9">
				<todo-list></todo-list>
			</el-col>
		</el-row>
P
Pan 已提交
73

P
Pan 已提交
74
	</div>
P
init  
Pan 已提交
75 76 77
</template>

<script>
P
Pan 已提交
78 79 80 81 82 83 84 85 86 87 88 89
import { mapGetters } from 'vuex'
import panThumb from 'components/PanThumb'
import pieChart from './pieChart'
import barChart from './barChart'
import lineChart from './lineChart'
import countTo from 'vue-count-to'
import todoList from 'components/TodoList'

export default {
  name: 'dashboard-editor',
  components: { panThumb, countTo, pieChart, lineChart, barChart, todoList },
  data() {
P
Pan 已提交
90
    return {
P
Pan 已提交
91 92 93 94 95 96
      statisticsData: {
        article_count: 1024,
        comment_count: 102400,
        latest_article: [],
        month_article_count: 28,
        pageviews_count: 1024
P
init  
Pan 已提交
97 98
      }
    }
P
Pan 已提交
99
  },
P
Pan 已提交
100 101 102 103 104
  computed: {
    ...mapGetters([
      'name',
      'avatar',
      'roles'
P
Pan 已提交
105 106
    ])
  }
P
Pan 已提交
107
}
P
init  
Pan 已提交
108 109 110
</script>

<style rel="stylesheet/scss" lang="scss" scoped>
P
Pan 已提交
111
.dashboard-editor-container {
P
Pan 已提交
112
    margin: 30px;
P
Pan 已提交
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
    .btn-group {
        margin-bottom: 60px;
    }
    .box-card-header {
        position: relative;
        height: 160px;
    }
    .panThumb {
        z-index: 100;
        height: 150px;
        width: 150px;
        position: absolute;
        left: 0px;
        right: 0px;
        margin: auto;
    }
    .display_name{
        font-size: 30px;
P
Pan 已提交
131
        display: block;
P
Pan 已提交
132 133 134 135
    }
    .info-item{
        display: inline-block;
        margin-top: 10px;
P
Pan 已提交
136
        font-size: 14px;
P
Pan 已提交
137 138 139 140
        &:last-of-type{
            margin-left: 15px;
        }
    }
P
Pan 已提交
141
}
P
init  
Pan 已提交
142
</style>