源码
- <template>
- <div class="app-container home">
- <el-row type="flex" justify="space-around" class="row-bg">
- <el-card class="box-card cardDiv1">
- <el-col :span="5">
- <div class="box-div card1">
- <div class="webBox">
- <div class="webO">今日交易额:</div>
- <div class="webT">¥645334.45</div>
- </div>
- </div>
- </el-col>
- <el-col :span="5">
- <div class="box-div card2">
- <div class="webBox">
- <div class="webO">今日订单数量:</div>
- <div class="webT">7512</div>
- </div>
- </div>
- </el-col>
- <el-col :span="5">
- <div class="box-div card3">
- <div class="webBox">
- <div class="webO">今日访问人数:</div>
- <div class="webT">53101</div>
- </div>
- </div>
- </el-col>
- <el-col :span="5">
- <div class="box-div card4">
- <div class="webBox">
- <div class="webO">今日新增用户:</div>
- <div class="webT">8868</div>
- </div>
- </div>
- </el-col>
- <el-col :span="5">
- <div class="box-div card5">
- <div class="webBox">
- <div class="webO">累计用户量:</div>
- <div class="webT">895421</div>
- </div>
- </div>
- </el-col>
- </el-card>
-
- </el-row>
- <!-- <el-divider />-->
- <el-row type="flex" justify="space-around" class="row-bg" style="margin-bottom:10px">
- <el-col :span="10">
- <el-card class="box-card" style="height: 320px;margin-right: 10px">
- <div id="main1" style="height: 300px;width:700px">
-
- </div>
- </el-card>
- </el-col>
- <el-col :span="7">
- <el-card class="box-card" style="height: 320px;margin-right: 10px">
- <div id="main2" style="height: 270px;width:400px">
-
- </div>
- </el-card>
- </el-col>
- <el-col :span="7">
- <el-card class="box-card" style="height: 320px;">
- <div id="main3" style="height: 270px;width:400px">
- </div>
- </el-card>
- </el-col>
- </el-row>
- <!-- <el-divider />-->
- <el-row type="flex" justify="space-around" class="row-bg" >
- <el-col :span="14" style="margin-right: 10px">
- <el-card class="box-card cardDiv2">
- <div slot="header" class="clearfix">
- <span style="margin-right: 30px">订单信息</span>
- <el-badge :value="99" class="item">
- <el-button type="text" size="small">待处理订单</el-button>
- </el-badge>
- <el-button style="float: right; padding: 3px 0" type="text">更多</el-button>
- </div>
- <el-table
- :data="tableData2"
- height="300"
- style="width: 100%">
- <el-table-column
- prop="code"
- label="订单编号">
- </el-table-column>
- <el-table-column
- prop="date"
- label="下单日期">
- </el-table-column>
- <el-table-column
- prop="money"
- label="交易金额">
- </el-table-column>
- <el-table-column
- prop="name"
- label="客户名称">
- </el-table-column>
- <el-table-column
- prop="status"
- label="订单状态">
- <template slot-scope="scope">
- <span v-if="scope.row.status==='1'" style="color: #FF9933">待发货</span>
- <span v-if="scope.row.status==='2'" style="color: #FF5722">已退货</span>
- <span v-if="scope.row.status==='3'" style="color: #1890ff">已取消</span>
- </template>
- </el-table-column>
- <el-table-column
- label="操作">
- <template slot-scope="scope">
- <el-button type="text" icon="el-icon-view" size="small">查看</el-button>
- <el-button type="text" icon="el-icon-edit" size="small">编辑</el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-card>
- </el-col>
- <el-col :span="10">
- <el-card class="box-card cardDiv2">
- <div slot="header" class="clearfix">
- <span>客户信息</span>
- <el-badge :value="99" class="item" style="visibility: hidden">
- <el-button type="text" size="small">待处理订单</el-button>
- </el-badge>
- <el-button style="float: right; padding: 3px 0" type="text">更多</el-button>
- </div>
- <el-table
- :data="tableData"
- height="300"
- style="width: 100%">
- <el-table-column
- prop="name"
- label="客户名称">
- </el-table-column>
- <el-table-column
- prop="phone"
- label="联系电话">
- </el-table-column>
- <el-table-column
- prop="money"
- label="消费金额">
- </el-table-column>
- <el-table-column
- prop="level"
- label="会员级别">
- <template slot-scope="scope">
-
- <span v-if="scope.row.level==='1'"><el-tag type="danger">至尊</el-tag></span>
- <span v-if="scope.row.level==='2'"><el-tag type="success">钻石</el-tag></span>
- <span v-if="scope.row.level==='3'"><el-tag type="warning">黄金</el-tag></span>
- <span v-if="scope.row.level==='4'"><el-tag type="info">普通</el-tag></span>
- </template>
- </el-table-column>
- <el-table-column
- label="操作">
- <template slot-scope="scope">
- <el-button type="text" icon="el-icon-view" size="small">查看</el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-card>
- </el-col>
- </el-row>
- </div>
- </template>
-
- <script>
- import * as echarts from 'echarts'
- export default {
- name: "Index",
- data() {
- return {
- // 版本号
- version: "3.8.6",
- tableData: [{
- money: '8856.56',
- name: '张三',
- phone: '18888888888',
- level:'1'
- }, {
- money: '2384.50',
- name: '李四',
- phone: '18888888888',
- level:'2'
- }, {
- money: '6000.20',
- name: '王五',
- phone: '13688888888',
- level:'3'
- }, {
- money: '5558.34',
- name: '赵六',
- phone: '13688888888',
- level:'4'
- },
- {
- money: '1234.25',
- name: '钱七',
- phone: '13688888888',
- level:'3'
- },
- {
- money: '1234.25',
- name: '钱七',
- phone: '13688888888',
- level:'3'
- },
- {
- money: '1234.25',
- name: '钱七',
- phone: '13688888888',
- level:'2'
- }
- ],
- tableData2: [
- {
- date: '2016-05-02',
- name: '张三',
- code: '454545454234455',
- money: '2422',
- status: '1',
- },
- {
- date: '2016-05-02',
- name: '李四',
- code: '234234234324234',
- money: '7870.00',
- status: '1',
- },
- {
- date: '2016-05-02',
- name: '王五',
- code: '23523523544644',
- money: '34545.2',
- status: '1',
- },
- {
- date: '2016-05-02',
- name: '赵六',
- code: '25235235235325',
- money: '3430',
- status: '2',
- },
- {
- date: '2016-05-02',
- name: '钱七',
- code: '25235235235325',
- money: '3430',
- status: '3',
- },
- ]
- };
- },
- created() {
- },
- mounted() {
- this.setLineData()
- this.setbData()
- this.setBireData()
- },
- methods: {
- goTarget(href) {
- window.open(href, "_blank");
- },
- setLineData(){
- var chartDom = document.getElementById('main1');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- title: [{
- text: '一周交易额',
- textStyle: {
- fontSize: 15
- },
-
- },
- {
- text: '单位:万元',
- left:'80%',
- textStyle:{
- fontSize:13,
- fontWeight:100
- }
- }],
- xAxis: {
- type: 'category',
- data: ['3-16', '3-17', '3-18', '3-19', '3-20', '3-21', '3-22']
- },
- yAxis: {
- type: 'value',
- splitLine:{
- show:true,
- lineStyle:{
- type:'dashed'
- }
- }
- },
- series: [
- {
- data: [150, 230, 224, 218, 135, 147, 260],
- type: 'line',
- itemStyle: {
- normal: {
- color: "#2ec7c9",
- lineStyle: {
- color: "rgb(30 198 149)"
- }
- }
- },
- }
- ]
- };
-
- option && myChart.setOption(option);
- },
- setbData(){
-
- var chartDom = document.getElementById('main2');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- color: ['#49bafc', '#e9898f', '#f7b230', '#bd92e1', '#26c8aa'],
- title: {
- text: '商品销售额占比',
- left: 'left',
- textStyle: {
- fontSize: 15
- },
-
- },
- tooltip: {
- trigger: 'item',
- formatter: '{a}
{b} : {c} ({d}%)' - },
- legend: {
- bottom: 1,
- left: 'center',
- data: ['食品', '服装', '家电', '日用品', '原材料']
- },
- series: [
- {
- type: 'pie',
- radius: '65%',
- center: ['50%', '45%'],
- selectedMode: 'single',
- data: [
- { value: 1548,name: '原材料'},
- { value: 735, name: '日用品'},
- { value: 510, name: '家电' },
- { value: 434, name: '服装' },
- { value: 335, name: '食品' }
- ],
- emphasis: {
- itemStyle: {
- shadowBlur: 10,
- shadowOffsetX: 0,
- shadowColor: 'rgba(0, 0, 0, 0.5)'
- }
- }
- }
- ]
- };
-
- option && myChart.setOption(option);
-
- },
- setBireData(){
- var chartDom = document.getElementById('main3');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- title: {
- text: '订单状态',
- textStyle: {
- fontSize: 15
- },
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- legend: {},
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true,//设置自适应画布大小状态为开,也可通过设置left左移实现相同效果
- },
- xAxis: {
- type: 'value',
- boundaryGap: [0, 0.01],
- splitLine:{
- show:false
- },
- "axisLine":{ //x轴坐标轴
- "show":false
- },
- axisLabel:{
- show: false
- },
- axisTick: { //x轴刻度线
- show:false
- },
- },
- yAxis: {
- type: 'category', //纵向改成横向柱状图
- data: ['今日取消订单', '今日评价订单','今日退货订单','今日发货订单', ], //y轴显示文字
- axisTick: {
- show: false
- },
- axisLine: {
- show: false,
- },
- },
- series: [
- {
- name: '',
- type: 'bar',
- barWidth: 20,
- showSymbol: false,
- label:{ //柱状图显示数值
- show:true,
- position: 'insideTop', //内部顶部显示
- textStyle: {
- color: '#FFF', //字体颜色
- fontSize: 14 //字体大小
- }
- },
- data: [{
- value:1546,
- itemStyle: {
- normal: {
- barBorderRadius: [0, 6, 6, 0],
- color: new echarts.graphic.LinearGradient(1, 0, 0, 0, [{ //1000纵向柱状图渐变色 0100横向柱状图渐变色
- offset: 0,
- color: "rgba(30, 198, 149, 1)" // 0% 处的颜色
- }, {
- offset: 0.6,
- color: "rgba(30, 198, 149, 1)" // 60% 处的颜色
- }, {
- offset: 1,
- color: "rgba(51, 204, 204, 1)" // 100% 处的颜色
- }], false)
- }
- },
- },
- {
- value:860,
- itemStyle: {
- normal: {
- barBorderRadius: [0, 6, 6, 0],//顺时针左上,右上,右下,左下)
- color: new echarts.graphic.LinearGradient(1, 0, 0, 0, [{
- offset: 0,
- color: "rgba(170, 137, 254, 1)" // 0% 处的颜色
- }, {
- offset: 0.6,
- color: "rgba(170, 137, 254, 1)" // 60% 处的颜色
- }, {
- offset: 1,
- color: "rgba(204, 153, 204, 1)" // 100% 处的颜色
- }], false)
- }
- },
-
- },
- {
- value:1022,
- itemStyle: {
- normal: {
- barBorderRadius: [0, 6, 6, 0],
- color: new echarts.graphic.LinearGradient(1, 0, 0, 0, [{
- offset: 0,
- color: "rgba(226, 113, 140, 1)" // 0% 处的颜色
- }, {
- offset: 0.6,
- color: "rgba(244, 174, 149, 1)" // 60% 处的颜色
- }, {
- offset: 1,
- color: "rgba(244, 174, 149, 1)" // 100% 处的颜色
- }], false)
- }
- },
-
- },
- {
- value:1600,
- itemStyle: {
- normal: {
- barBorderRadius: [0, 6, 6, 0],
- color: new echarts.graphic.LinearGradient(1, 0, 0, 0, [{
- offset: 0,
- color: "rgba(255, 153, 51, 1)" // 0% 处的颜色
- }, {
- offset: 0.6,
- color: "rgba(255, 153, 51, 1)" // 60% 处的颜色
- }, {
- offset: 1,
- color: "rgba(239, 203, 45, 1)" // 100% 处的颜色
- }], false)
- }
- },
- },
-
- ]
- },
- ]
- };
-
- option && myChart.setOption(option);
-
- }
- }
- };
- </script>
-
- <style scoped lang="scss">
- ::v-deep .el-card__body {
- padding: 15px 20px 20px 20px;
- display: flex;
- justify-content: center;
- }
- .box-div{
- height: 120px;
- padding: 35px;
- margin: 20px;
- }
- .cardDiv1{
- width: 100%;
- margin-bottom: 10px;
- }
- .cardDiv2{
- width: 100%;
- margin-bottom: 20px;
- }
- .app-container {
- padding: 20px;
- background: #eeeeee50;
- }
- .home {
- blockquote {
- padding: 10px 20px;
- margin: 0 0 20px;
- font-size: 17.5px;
- border-left: 5px solid #eee;
- }
- hr {
- margin-top: 20px;
- margin-bottom: 20px;
- border: 0;
- border-top: 1px solid #eee;
- }
- .col-item {
- margin-bottom: 20px;
- }
-
- ul {
- padding: 0;
- margin: 0;
- }
-
- font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 13px;
- color: #676a6c;
- overflow-x: hidden;
-
- ul {
- list-style-type: none;
- }
-
- h4 {
- margin-top: 0px;
- }
-
- h2 {
- margin-top: 10px;
- font-size: 26px;
- font-weight: 100;
- }
-
- p {
- margin-top: 10px;
-
- b {
- font-weight: 700;
- }
- }
-
- .update-log {
- ol {
- display: block;
- list-style-type: decimal;
- margin-block-start: 1em;
- margin-block-end: 1em;
- margin-inline-start: 0;
- margin-inline-end: 0;
- padding-inline-start: 40px;
- }
- }
- .webBox{
- display: -webkit-box;
- -webkit-box-orient: vertical;
- }
- .webO{
- display: -webkit-box;
- -webkit-box-pack: start;
- -webkit-box-align: center;
- font-size: 14px;
- font-weight: 700;
- color: #fff;
- }
- .webT{
- display: -webkit-box;
- -webkit-box-pack: end;
- -webkit-box-align: center;
- font-size: 20px;
- font-weight: 700;
- padding-right: 50px;
- padding-top: 10px;
- color: #fff;
- }
- .card1{
- background: linear-gradient(180deg, rgba(30, 198, 149, 1) 0%, rgba(30, 198, 149, 1) 0%, rgba(51, 204, 204, 1) 100%, rgba(51, 204, 204, 1) 100%);
- border: none;
- border-radius: 4px;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.349019607843137);
- font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
- }
- .card2{
- background: linear-gradient(90deg, rgba(244, 174, 149, 1) 0%, rgba(244, 174, 149, 1) 0%, rgba(226, 113, 140, 1) 100%, rgba(226, 113, 140, 1) 100%);
- border: none;
- border-radius: 4px;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.349019607843137);
- font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
- }
- .card3{
- background: linear-gradient(180deg, rgba(255, 153, 51, 1) 0%, rgba(255, 153, 51, 1) 0%, rgba(239, 203, 45, 1) 100%, rgba(239, 203, 45, 1) 100%);
- border: none;
- border-radius: 4px;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.349019607843137);
- font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
- }
- .card4{
- background: linear-gradient(180deg, rgba(45, 169, 250, 1) 0%, rgba(45, 169, 250, 1) 0%, rgba(102, 204, 255, 1) 100%, rgba(102, 204, 255, 1) 100%);
- border: none;
- border-radius: 4px;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.349019607843137);
- font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
- }
- .card5{
- background: linear-gradient(180deg, rgba(170, 137, 254, 1) 0%, rgba(170, 137, 254, 1) 0%, rgba(204, 153, 204, 1) 100%, rgba(204, 153, 204, 1) 100%);
- border: none;
- border-radius: 4px;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.349019607843137);
- font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
- }
- }
- </style>
-