Commit 5122b980 authored by 罗超's avatar 罗超

新增高校毕业统计

parent 815a51dc
......@@ -30,7 +30,7 @@ export default {
@import './assets/css/tablevoerride.css';
@import './assets/global/font.css';
@import '//at.alicdn.com/t/font_1627123_udqp6oxn9ki.css';
@import '//at.alicdn.com/t/font_1627123_780xmjiri8r.css';
@import url('//at.alicdn.com/t/font_1627123_grz80mbm3sv.css');
/* @import './assets/css/common.css'; */
@import './assets/css/init.css';
......
......@@ -91,9 +91,21 @@
<span class="usr-name">{{userInfo.EmName}}</span>
</div>
<div class="right-item">
<el-avatar :size="34" :src="userInfo.Icon" style="background:rgba(13, 36, 129, 1);" @error="errorHandler">
{{userInfo.EmName.substring(0,1)}}
</el-avatar>
<el-popover
placement="top"
width="160"
trigger="click"
v-model="visible">
<ul style="padding:0;margin:0;display:block;">
<li style="padding:0;margin:0;color:#000;cursor: pointer;" @click="signout">
<i class="iconfont icontuichu"></i>
退出
</li>
</ul>
<el-avatar slot="reference" :size="34" :src="userInfo.Icon" style="background:rgba(13, 36, 129, 1);" @error="errorHandler">
{{userInfo.EmName.substring(0,1)}}
</el-avatar>
</el-popover>
</div>
</div>
</div>
......@@ -109,7 +121,8 @@ export default {
userInfo: {
EmName: '',
Icon: '',
}
},
visible:false
};
},
mounted() {
......@@ -128,6 +141,10 @@ export default {
},
errorHandler() {
return true;
},
signout(){
window.localStorage.removeItem("userInfo");
this.$router.push('/login');
}
}
};
......
......@@ -76,6 +76,7 @@
<el-form-item label="同时添加至" class="label-pad-left form-check">
<div class="pad-left-10">
<el-checkbox-group v-model="TransferOther">
<el-checkbox :value="4" :label="4">订单</el-checkbox>
<el-checkbox :value="2" :label="2">商机</el-checkbox>
<el-checkbox :value="3" :label="3">合同</el-checkbox>
</el-checkbox-group>
......
......@@ -76,6 +76,7 @@
<el-form-item label="同时添加至" class="label-pad-left form-check">
<div class="pad-left-10">
<el-checkbox-group v-model="TransferOther">
<el-checkbox :value="4" :label="4">订单</el-checkbox>
<el-checkbox :value="2" :label="2">商机</el-checkbox>
<el-checkbox :value="3" :label="3">合同</el-checkbox>
</el-checkbox-group>
......
<style>
.sex{
height: calc(100% - 25px);
}
.statistics-title {
font-size: 24px;
color: #111;
margin-bottom: 30px;
font-family: perfectFont;
}
.sex .conten-box{
display: flex;
flex-direction: column;
height: calc(100% - 62px);
}
.sex .conten-box .el-card .el-card__header {
font-weight: normal !important;
}
.sex .conten-box .top{
flex: 1.2;
margin-bottom: 25px;
}
.sex .conten-box .bottom{
flex: .8;
}
.sex .conten-box .left{
height: 100%;
}
.sex .conten-box .el-card.blue {
background: #0D2481!important;
color: #fff !important;
height: calc(100% - 2px);
}
.sex .conten-box .el-card .el-card__body {
padding: 20px;
height: calc(100% - 98px);
max-height: calc(100% - 98px);
}
.sex .conten-box .img {
display: flex;
align-items: flex-end;
text-align: center;
padding: 20px 70px 10px 70px!important;
justify-content: space-between;
font-size: 14px;
}
.sex .sjsm{
display: flex;
flex-direction: column;
}
.sex .sjsm>div:nth-child(1){
margin-bottom: 20px;
}
.sex .sjsm>div{
flex: 1;
background:rgba(244,245,249,1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px;
}
.sex .sjsm>div .left{
display: flex;
align-items: center;
}
.sex .sjsm>div .left img{
padding-right: 10px;
}
.sex .sjsm>div .right{
text-align: right;
color: #888888;
font-size: 12px;
}
.sex .hight-font{
color: #0D2481 !important;
font-size: 14px;
}
</style>
<template>
<div class="sex" v-loading="loading">
<div class="statistics-title bold18">客户学历统计</div>
<div class="conten-box" v-if="!loading">
<el-row :gutter="25" class="top">
<el-col :span="16" class="left">
<el-card class="blue">
<div slot="header" class="clearfix">
<span>订单统计</span>
</div>
<el-row :gutter="80" style="height: 100%;">
<el-col :span="10" class="img">
<div>
<div style="margin-bottom: 10px;">
<img src="../../assets/img/tongji/gaoxiao.png" alt="">
</div>
<p>学历统计</p>
</div>
</el-col>
<el-col :span="14" style="height: 100%;">
<sexChart :myData="chartData" :strArr="strArr"/>
</el-col>
</el-row>
</el-card>
</el-col>
<el-col :span="8" style="height: 100%;">
<el-card style="height: calc(100% - 2px);">
<div slot="header" class="clearfix">
<span>购物统计<span class="font-size-12">(按平均计算)</span></span>
</div>
<shopChart :shopChartData="shopChartData"/>
</el-card>
</el-col>
</el-row>
<el-row :gutter="25" class="bottom" >
<el-col :span="15" style="height: 100%;">
<el-card style="height: 100%;">
<div slot="header" class="clearfix">
<span>数据说明</span>
</div>
<div style="height: 100%;" class="sjsm">
<div v-for="(item, index) in orders" :key="index">
<div class="left">
<img v-if="item.StudentType === 1" src="../../assets/img/tongji/zaidu.png" alt="">
<img v-if="item.StudentType === 2" src="../../assets/img/tongji/biye.png" alt="">
<span class="font-size-12">{{item.StudentTypeName}}</span>
</div>
<div class="right">
<p>累计报名<span class="hight-font">{{item.StudentCount}}</span>人,关联购物金额<span class="hight-font">{{item.TotalMoney}}</span>万,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<p>最喜爱产品<span class="hight-font">{{item.LtName}}</span></p>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="9" style="height: 100%;">
<el-card style="height: 100%;">
<div slot="header" class="clearfix">
<el-row style="width:100%">
<el-col :span="12" size="30">
推荐解答
</el-col>
<!-- <el-col :span="12" class="right-title">
<i class="iconfont icondianzan1"></i> 点赞
</el-col> -->
</el-row>
</div>
<div class="situ">
<div class="c">根据对客户年学历的统计可以,更好的了解不同学历段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等</div>
<div class="bot" @click="drawer = true">
查看更多,参与讨论(1)
<i class="el-icon-d-arrow-right"></i>
</div>
</div>
</el-card>
</el-col>
</el-row>
</div>
<el-drawer
size='695px'
:visible.sync="drawer"
direction="rtl"
:with-header="false">
<discussBox :id="discussID"/>
</el-drawer>
</div>
</template>
<script>
import sexChart from './model/sexChart'
import shopChart from './model/shopChart'
import discussBox from "./model/discussBox";
export default {
components: {
sexChart,
shopChart,
discussBox
},
data() {
return {
discussID: 0,
drawer: false,
chartData: [0, 0],
shopChartData: [],
SexOrder: [],
loading: false,
strArr: ['高校在读生', '高校毕业生', '非高校'],
orders:[]
};
},watch:{
},
mounted() {
this.GetSexOrderList()
},
methods: {
GetSexOrderList(){
this.loading = true
this.apipost("/api/Statistic/GetStudentShopList", {}, res => {
// this.SexOrder = res.data.data
let contShop = res.data.data[0].TotalMoney + res.data.data[1].TotalMoney+ res.data.data[2].TotalMoney,
zai = res.data.data[0].TotalMoney,
bi = res.data.data[1].TotalMoney,
ot = res.data.data[2].TotalMoney,
contNum = res.data.data[0].StudentCount + res.data.data[1].StudentCount+ res.data.data[2].StudentCount,
zaiN = res.data.data[0].StudentCount,
biN = res.data.data[1].StudentCount,
otN = res.data.data[2].StudentCount;
let chartData = [], shopChartData = [];
chartData.push(
((zaiN/contNum)*100).toFixed(2)
)
chartData.push(
((biN/contNum)*100).toFixed(2)
)
chartData.push(
((otN/contNum)*100).toFixed(2)
)
shopChartData.push(
{
num: Number(((zai/contShop)*100).toFixed(2)),
color: "#0D2481",
text: '高校在读生'
}
)
shopChartData.push(
{
num: Number(((bi/contShop)*100).toFixed(2)),
color: "#FFA475",
text: '高校毕业生'
}
)
shopChartData.push(
{
num: Number(((ot/contShop)*100).toFixed(2)),
color: "#999",
text: '非高校'
}
)
this.chartData = chartData
this.shopChartData = shopChartData
this.orders=res.data.data;
this.getOrders()
});
},
getOrders(){
this.apipost("/api/Statistic/GetStudentOrderList", {}, res => {
console.log(res)
res.data.data.forEach(x => {
this.orders[x.NewStudentType - 1].LtName = x.LtName;
this.orders[x.NewStudentType - 1].Unit_Price = x.Unit_Price;
});
this.loading = false
});
}
}
}
</script>
\ No newline at end of file
......@@ -32,7 +32,7 @@
}
.discussBox .list{
overflow-y: auto;
height: calc(100% - 51px);
height: calc(100% - 102px);
overflow-x: hidden;
}
.discussBox .list .list-item .list-item-tit{
......@@ -118,6 +118,14 @@
.discussBox .list .list-item:last-child{
margin-bottom: 20px
}
.discussBox .reply{
display: flex;
align-items: center;
justify-content: space-between;
height: 50px;
padding: 0 20px;
border-top: 1px solid #f6f6f6;
}
</style>
<template>
<div class="discussBox">
......@@ -236,20 +244,43 @@
</div>
</li>
</ul>
<div class="reply">
<div class="msg-box">
<div style="margin-top: 5px;">
<el-input placeholder="请输入内容" v-model="input3" class="input-with-select">
<el-button slot="append" type="primary">发布</el-button>
</el-input>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props:{
t:{
type:Number,
default:1
}
},
data(){
return {
sort: true,
msgBoxShow: false,
input3: ''
input3: '',
bbs:[]
}
},
props: [],
methods: {
load(){
this.apipost("/api/Customer/GetBbsListByType",{
t:this.t,
o:"1"
},r=>{
this.bbs=r.data.data;
});
}
},
mounted(){
......
......@@ -161,6 +161,14 @@ export default new Router({
title: "婚姻统计"
}
},
{
path: "/gaoxiao",
name: "gaoxiao",
component: ()=>import('./components/statistics/gaoxiao.vue'),
meta: {
title: "高校在读/毕业统计"
}
},
{
path: "/job",
name: "job",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment