Commit 79b930ee authored by 罗超's avatar 罗超

调整

parent 9bc2e187
......@@ -213,6 +213,12 @@
<p @click="openDetails(scope)" class="font-color-link cp">{{scope.row.CustomerName}}</p>
</template>
</el-table-column>
<el-table-column
prop="CustomerType"
label="客户类型"
v-if="queryType[20].show"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="CustomerSourceTypeStr"
label="客户来源"
......@@ -540,6 +546,10 @@ export default {
label: '交客数',
show: true,
},
{
label: '客户类型',
show: true,
}
],
queryType: [
{
......@@ -602,7 +612,10 @@ export default {
},{
label: '交客数',
show: true,
},
}, {
label: '客户类型',
show: true,
}
],
CustomerId: 0,
CustomerIdStr: '',
......
......@@ -303,6 +303,7 @@ export default {
SceneName: '',
IsDefault: 0,
}
console.log(val)
},
deep:true
}
......@@ -502,7 +503,7 @@ export default {
x.region = this.optionsNames.filter(item=>{
return !item.t
})
} else if (x.Name === '负责人' || x.Name === '创建人' || x.Name === '线索来源' || x.Name === '客户来源' || x.Name === '客人级别' || x.Name === '经营场所' || x.Name === '性别' || x.Name === '是否关键决策人' || x.Name === '职务' || x.Name === '商机状态组' || x.Name === '交客数' || x.Name === '优惠券数' || x.Name === '交易金额' || x.Name === '幸福存折') {
} else if (x.Name === '负责人' || x.Name === '客户类别' || x.Name === '创建人' || x.Name === '线索来源' || x.Name === '客户来源' || x.Name === '客人级别' || x.Name === '经营场所' || x.Name === '性别' || x.Name === '是否关键决策人' || x.Name === '职务' || x.Name === '商机状态组' || x.Name === '交客数' || x.Name === '优惠券数' || x.Name === '交易金额' || x.Name === '幸福存折') {
x.region = this.optionsNames.filter(item=>{
return (item.c === '等于' || item.c === '不等于') && item.t
})
......
......@@ -68,6 +68,7 @@ export default {
this.sceneDataList = this.sceneData.filter(x=>
x.WhereType === 0
)
console.log(this.sceneDataList)
let $this = this
this.MsgBus.$on('editScene', function (){
console.log(1)
......
......@@ -205,7 +205,8 @@
<span class="font-size-12">{{item.SeasonTypeName}}</span>
</div>
<div class="right">
<p>累计报名<span class="hight-font">{{item.SeasonCount}}</span>人,关联购物金额<span class="hight-font">{{item.TotalMoney}}</span>万,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<p>累计报名<span class="hight-font">{{item.SeasonCount}}</span>人,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<!-- ,关联购物金额<span class="hight-font">{{item.TotalMoney}}</span>万 -->
<p>最喜爱产品<span class="hight-font">{{item.LtName}}</span></p>
</div>
</div>
......
<style>
.sex{
.sex {
height: calc(100% - 25px);
}
.statistics-title {
......@@ -9,7 +9,7 @@
margin-bottom: 30px;
font-family: perfectFont;
}
.sex .conten-box{
.sex .conten-box {
display: flex;
flex-direction: column;
height: calc(100% - 62px);
......@@ -17,18 +17,18 @@
.sex .conten-box .el-card .el-card__header {
font-weight: normal !important;
}
.sex .conten-box .top{
.sex .conten-box .top {
flex: 1.2;
margin-bottom: 25px;
}
.sex .conten-box .bottom{
flex: .8;
.sex .conten-box .bottom {
flex: 0.8;
}
.sex .conten-box .left{
.sex .conten-box .left {
height: 100%;
}
.sex .conten-box .el-card.blue {
background: #0D2481!important;
background: #0d2481 !important;
color: #fff !important;
height: calc(100% - 2px);
}
......@@ -41,42 +41,41 @@
display: flex;
align-items: flex-end;
text-align: center;
padding: 20px 70px 10px 70px!important;
padding: 20px 70px 10px 70px !important;
justify-content: space-between;
font-size: 14px;
}
.sex .sjsm{
.sex .sjsm {
display: flex;
flex-direction: column;
}
.sex .sjsm>div{
.sex .sjsm > div {
margin-bottom: 20px;
}
.sex .sjsm>div{
.sex .sjsm > div {
flex: 1;
background:rgba(244,245,249,1);
background: rgba(244, 245, 249, 1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px;
}
.sex .sjsm>div .left{
.sex .sjsm > div .left {
display: flex;
align-items: center;
}
.sex .sjsm>div .left img{
.sex .sjsm > div .left img {
padding-right: 10px;
}
.sex .sjsm>div .right{
.sex .sjsm > div .right {
text-align: right;
color: #888888;
font-size: 12px;
}
.sex .hight-font{
color: #0D2481 !important;
.sex .hight-font {
color: #0d2481 !important;
font-size: 14px;
}
</style>
<template>
<div class="sex" v-loading="loading">
......@@ -92,13 +91,13 @@
<el-col :span="10" class="img">
<div>
<div style="margin-bottom: 10px;">
<img src="../../assets/img/tongji/zc.png" alt="">
<img src="../../assets/img/tongji/zc.png" alt />
</div>
<p>资产</p>
</div>
</el-col>
<el-col :span="14" style="height: 100%;">
<sexChart :myData="chartData" :strArr="strArr"/>
<sexChart :myData="chartData" :strArr="strArr" />
</el-col>
</el-row>
</el-card>
......@@ -106,13 +105,16 @@
<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>
<span>
购物统计
<span class="font-size-12">(按平均计算)</span>
</span>
</div>
<shopChart :shopChartData="shopChartData"/>
<shopChart :shopChartData="shopChartData" />
</el-card>
</el-col>
</el-row>
<el-row :gutter="25" class="bottom" >
<el-row :gutter="25" class="bottom">
<el-col :span="16" style="height: 100%;">
<el-card style="height: 100%;">
<div slot="header" class="clearfix">
......@@ -121,14 +123,22 @@
<div style="height: 100%;" class="sjsm">
<div v-for="(item, index) in orders" :key="index">
<div class="left">
<img v-if="index==0" src="../../assets/img/tongji/in1.png" alt="">
<img v-if="index==1" src="../../assets/img/tongji/in2.png" alt="">
<img v-if="index==2" src="../../assets/img/tongji/in3.png" alt="">
<img v-if="index==0" src="../../assets/img/tongji/in1.png" alt />
<img v-if="index==1" src="../../assets/img/tongji/in2.png" alt />
<img v-if="index==2" src="../../assets/img/tongji/in3.png" alt />
<span class="font-size-12">{{item.ZiChanTypeName}}</span>
</div>
<div class="right">
<p>累计报名<span class="hight-font">{{item.OrderCount}}</span>人,关联购物金额<span class="hight-font">{{item.ShopMoney}}</span>万,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<p>最喜爱产品<span class="hight-font">{{item.LtName}}</span></p>
<p>
累计报名
<span class="hight-font">{{item.OrderCount}}</span>人,报名均价为
<span class="hight-font">{{item.Unit_Price}}</span>
</p>
<!-- ,关联购物金额<span class="hight-font">{{item.ShopMoney}}</span>万 -->
<p>
最喜爱产品
<span class="hight-font">{{item.LtName}}</span>
</p>
</div>
</div>
</div>
......@@ -138,18 +148,16 @@
<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" size="30">推荐解答</el-col>
<!-- <el-col :span="12" class="right-title">
<i class="iconfont icondianzan1"></i> 点赞
</el-col> -->
</el-col>-->
</el-row>
</div>
<div class="situ">
<div class="c">根据对资产的统计可以,更好的了解不同资产客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等</div>
<div class="c">{{topOne && topOne.Content ? topOne.Content : '暂无'}}</div>
<div class="bot" @click="drawer = true">
查看更多,参与讨论(1)
{{BbsList.length ? '查看更多,参与讨论('+ BbsList.length +')' : '暂时还没有讨论,快来发起讨论吧~'}}
<i class="el-icon-d-arrow-right"></i>
</div>
</div>
......@@ -157,18 +165,14 @@
</el-col>
</el-row>
</div>
<el-drawer
size='695px'
:visible.sync="drawer"
direction="rtl"
:with-header="false">
<discussBox :id="discussID"/>
<el-drawer size="695px" :visible.sync="drawer" direction="rtl" :with-header="false">
<discussBox :type="discussID" />
</el-drawer>
</div>
</template>
<script>
import sexChart from './model/sexChart'
import shopChart from './model/shopChart'
import sexChart from "./model/sexChart";
import shopChart from "./model/shopChart";
import discussBox from "./model/discussBox";
export default {
components: {
......@@ -184,69 +188,78 @@ export default {
shopChartData: [],
SexOrder: [],
loading: false,
strArr: ['10万以下', '10-50万', '50万以上'],
orders:[]
strArr: ["10万以下", "10-50万", "50万以上"],
orders: [],
discussID: 10,
BbsList: [],
topOne:{}
};
},watch:{
},
watch: {},
mounted() {
this.GetSexOrderList()
this.GetSexOrderList();
this.GetBbsListByType()
},
methods: {
GetSexOrderList(){
this.loading = true
GetBbsListByType() {
this.apipost("/api/Customer/GetBbsListByType", { t: this.discussID }, res => {
this.BbsList = res.data.data;
if (this.BbsList && this.BbsList.length > 0) {
this.topOne = this.BbsList[0];
this.BbsList.forEach(x => {
if (x.Likes > this.topOne.Likes) {
this.topOne = x;
}
});
}
});
},
GetSexOrderList() {
this.loading = true;
this.apipost("/api/Statistic/GetZiChanOrderOrderList", {}, res => {
// this.SexOrder = res.data.data
this.loading = false
console.log("res.data.data",res.data.data)
let contShop = res.data.data[0].ShopMoney + res.data.data[1].ShopMoney+ res.data.data[2].ShopMoney,
this.loading = false;
let contShop =
res.data.data[0].ShopMoney +
res.data.data[1].ShopMoney +
res.data.data[2].ShopMoney,
zai = res.data.data[0].ShopMoney,
bi = res.data.data[1].ShopMoney,
ot = res.data.data[2].ShopMoney,
contNum = res.data.data[0].OrderCount + res.data.data[1].OrderCount+ res.data.data[2].OrderCount,
contNum =
res.data.data[0].OrderCount +
res.data.data[1].OrderCount +
res.data.data[2].OrderCount,
zaiN = res.data.data[0].OrderCount,
biN = res.data.data[1].OrderCount,
otN = res.data.data[2].OrderCount;
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)),
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: '10万以下'
}
)
shopChartData.push(
{
num: Number(((bi/contShop)*100).toFixed(2)),
text: "10万以下"
});
shopChartData.push({
num: Number(((bi / contShop) * 100).toFixed(2)),
color: "#FFA475",
text: '10-50万'
}
)
shopChartData.push(
{
num: Number(((ot/contShop)*100).toFixed(2)),
text: "10-50万"
});
shopChartData.push({
num: Number(((ot / contShop) * 100).toFixed(2)),
color: "#999",
text: '50万以上'
}
)
this.chartData = chartData
this.shopChartData = shopChartData
this.orders=res.data.data;
text: "50万以上"
});
this.chartData = chartData;
this.shopChartData = shopChartData;
this.orders = res.data.data;
// console.log("this.orders",this.orders)
});
},
}
}
}
};
</script>
\ No newline at end of file
......@@ -204,7 +204,8 @@
<p>{{item.FestivalName}}</p>
</div>
<div class="right">
<p>累计报名<span class="hight-font">{{item.OrderCount}}</span>人,关联购物金额<span class="hight-font">{{item.ShopMoney}}</span>万,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<p>累计报名<span class="hight-font">{{item.OrderCount}}</span>人,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<!-- 关联购物金额<span class="hight-font">{{item.ShopMoney}}</span>万, -->
<p>最喜爱产品<span class="hight-font">{{item.LtName}}</span></p>
</div>
</div>
......@@ -219,14 +220,14 @@
推荐解答
</el-col>
<el-col :span="12" class="right-title">
<i class="iconfont icondianzan1"></i> 点赞
<!-- <i class="iconfont icondianzan1"></i> 点赞 -->
</el-col>
</el-row>
</div>
<div class="situ">
<div class="fesRemind">根据对客户年龄段的统计,可以更好的了解不同年龄段客 人的喜根据对客户年龄段的统计。根据对客户年龄段的统 计,可以更好的了解不同年龄段客人的喜根据对客户年龄 段的统计</div>
<div class="fesRemind">{{topOne && topOne.Content ? topOne.Content : '暂无'}}</div>
<div class="botTaolun" @click="drawer = true">
查看更多,参与讨论(1)
{{BbsList.length ? '查看更多,参与讨论('+ BbsList.length +')' : '暂时还没有讨论,快来发起讨论吧~'}}
<i class="el-icon-d-arrow-right"></i>
</div>
</div>
......@@ -239,7 +240,7 @@
:visible.sync="drawer"
direction="rtl"
:with-header="false">
<discussBox :id="discussID"/>
<discussBox :type="discussID"/>
</el-drawer>
</div>
</template>
......@@ -259,14 +260,33 @@ export default {
discussID: 0,
drawer: false,
isShowFeature:false,
discussID: 11,
BbsList: [],
topOne:{}
};
},watch:{
},
mounted() {
this.GetSexOrderList()
this.GetBbsListByType()
},
methods: {
GetBbsListByType(){
this.apipost("/api/Customer/GetBbsListByType", {t: this.discussID}, res => {
this.BbsList = res.data.data
if (this.BbsList && this.BbsList.length>0) {
this.topOne=this.BbsList[0]
this.BbsList.forEach(x=>{
if(x.Likes>this.topOne.Likes){
this.topOne=x
}
})
}
});
},
GetSexOrderList(){
this.loading = true
this.apipost("/api/Statistic/GetFestivalOrderList", {}, res => {
......
<style>
.sex{
.sex {
height: calc(100% - 25px);
}
.statistics-title {
......@@ -9,7 +9,7 @@
margin-bottom: 30px;
font-family: perfectFont;
}
.sex .conten-box{
.sex .conten-box {
display: flex;
flex-direction: column;
height: calc(100% - 62px);
......@@ -17,18 +17,18 @@
.sex .conten-box .el-card .el-card__header {
font-weight: normal !important;
}
.sex .conten-box .top{
.sex .conten-box .top {
flex: 1.2;
margin-bottom: 25px;
}
.sex .conten-box .bottom{
flex: .8;
.sex .conten-box .bottom {
flex: 0.8;
}
.sex .conten-box .left{
.sex .conten-box .left {
height: 100%;
}
.sex .conten-box .el-card.blue {
background: #0D2481!important;
background: #0d2481 !important;
color: #fff !important;
height: calc(100% - 2px);
}
......@@ -41,42 +41,41 @@
display: flex;
align-items: flex-end;
text-align: center;
padding: 20px 70px 10px 70px!important;
padding: 20px 70px 10px 70px !important;
justify-content: space-between;
font-size: 14px;
}
.sex .sjsm{
.sex .sjsm {
display: flex;
flex-direction: column;
}
.sex .sjsm>div{
.sex .sjsm > div {
margin-bottom: 20px;
}
.sex .sjsm>div{
.sex .sjsm > div {
flex: 1;
background:rgba(244,245,249,1);
background: rgba(244, 245, 249, 1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px;
}
.sex .sjsm>div .left{
.sex .sjsm > div .left {
display: flex;
align-items: center;
}
.sex .sjsm>div .left img{
.sex .sjsm > div .left img {
padding-right: 10px;
}
.sex .sjsm>div .right{
.sex .sjsm > div .right {
text-align: right;
color: #888888;
font-size: 12px;
}
.sex .hight-font{
color: #0D2481 !important;
.sex .hight-font {
color: #0d2481 !important;
font-size: 14px;
}
</style>
<template>
<div class="sex" v-loading="loading">
......@@ -92,13 +91,13 @@
<el-col :span="10" class="img">
<div>
<div style="margin-bottom: 10px;">
<img src="../../assets/img/tongji/gaoxiao.png" alt="">
<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"/>
<sexChart :myData="chartData" :strArr="strArr" />
</el-col>
</el-row>
</el-card>
......@@ -106,13 +105,16 @@
<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>
<span>
购物统计
<span class="font-size-12">(按平均计算)</span>
</span>
</div>
<shopChart :shopChartData="shopChartData"/>
<shopChart :shopChartData="shopChartData" />
</el-card>
</el-col>
</el-row>
<el-row :gutter="25" class="bottom" >
<el-row :gutter="25" class="bottom">
<el-col :span="16" style="height: 100%;">
<el-card style="height: 100%;">
<div slot="header" class="clearfix">
......@@ -121,13 +123,21 @@
<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="">
<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>
<p>
累计报名
<span class="hight-font">{{item.StudentCount}}</span>人,报名均价为
<span class="hight-font">{{item.Unit_Price}}</span>
</p>
<!-- 关联购物金额<span class="hight-font">{{item.TotalMoney}}</span>万, -->
<p>
最喜爱产品
<span class="hight-font">{{item.LtName}}</span>
</p>
</div>
</div>
</div>
......@@ -137,37 +147,33 @@
<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" size="30">推荐解答</el-col>
<!-- <el-col :span="12" class="right-title">
<i class="iconfont icondianzan1"></i> 点赞
</el-col> -->
</el-col>-->
</el-row>
</div>
<div class="situ">
<div class="c">根据对客户年学历的统计可以,更好的了解不同学历段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等</div>
<div class="c">{{topOne && topOne.Content ? topOne.Content : '暂无'}}</div>
<div class="bot" @click="drawer = true">
查看更多,参与讨论(1)
<i class="el-icon-d-arrow-right"></i>
{{BbsList.length ? '查看更多,参与讨论('+ BbsList.length +')' : '暂时还没有讨论,快来发起讨论吧~'}}
<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 :type="discussID"/>
<el-drawer size="695px" :visible.sync="drawer" direction="rtl" :with-header="false">
<discussBox :type="discussID" />
</el-drawer>
</div>
</template>
<script>
import sexChart from './model/sexChart'
import shopChart from './model/shopChart'
import sexChart from "./model/sexChart";
import shopChart from "./model/shopChart";
import discussBox from "./model/discussBox";
export default {
components: {
......@@ -183,76 +189,102 @@ export default {
shopChartData: [],
SexOrder: [],
loading: false,
strArr: ['高校在读生', '高校毕业生', '非高校'],
orders:[]
strArr: ["高校在读生", "高校毕业生", "非高校"],
orders: [],
discussID: 12,
BbsList: [],
topOne: {}
};
},watch:{
},
watch: {},
mounted() {
this.GetSexOrderList()
this.GetSexOrderList();
this.GetBbsListByType();
},
methods: {
GetSexOrderList(){
this.loading = true
GetBbsListByType() {
this.apipost(
"/api/Customer/GetBbsListByType",
{ t: this.discussID },
res => {
this.BbsList = res.data.data;
if (this.BbsList && this.BbsList.length > 0) {
this.topOne = this.BbsList[0];
this.BbsList.forEach(x => {
if (x.Likes > this.topOne.Likes) {
this.topOne = x;
}
});
}
}
);
},
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,
console.log(res.data.data)
let m=3-res.data.data.length
if(res.data.data.length<3){
for (let i = 0; i < m; i++) {
res.data.data.push({
TotalMoney:0,
StudentCount:0
})
}
}
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,
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)),
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)),
text: "高校在读生"
});
shopChartData.push({
num: Number(((bi / contShop) * 100).toFixed(2)),
color: "#FFA475",
text: '高校毕业生'
}
)
shopChartData.push(
{
num: Number(((ot/contShop)*100).toFixed(2)),
text: "高校毕业生"
});
shopChartData.push({
num: Number(((ot / contShop) * 100).toFixed(2)),
color: "#999",
text: '非高校'
}
)
this.chartData = chartData
this.shopChartData = shopChartData
this.orders=res.data.data;
text: "非高校"
});
this.chartData = chartData;
this.shopChartData = shopChartData;
this.orders = res.data.data;
this.getOrders()
this.getOrders();
});
},
getOrders(){
getOrders() {
this.apipost("/api/Statistic/GetStudentOrderList", {}, res => {
console.log(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
this.loading = false;
});
}
}
}
};
</script>
\ No newline at end of file
<style>
.job{
.job {
height: calc(100% - 25px);
}
.statistics-title {
......@@ -9,7 +9,7 @@
margin-bottom: 30px;
font-family: perfectFont;
}
.job .conten-box{
.job .conten-box {
display: flex;
flex-direction: column;
height: calc(100% - 62px);
......@@ -17,18 +17,18 @@
.job .conten-box .el-card .el-card__header {
font-weight: normal !important;
}
.job .conten-box .top{
.job .conten-box .top {
flex: 1.2;
margin-bottom: 25px;
}
.job .conten-box .bottom{
flex: .8;
.job .conten-box .bottom {
flex: 0.8;
}
.job .conten-box .left{
.job .conten-box .left {
height: 100%;
}
.job .conten-box .el-card.blue {
background: #0D2481!important;
background: #0d2481 !important;
color: #fff !important;
height: calc(100% - 2px);
}
......@@ -41,45 +41,44 @@
display: flex;
align-items: flex-end;
text-align: center;
padding: 27px 0 0 90px!important;
padding: 27px 0 0 90px !important;
justify-content: center;
font-size: 14px;
}
.job .sjsm{
.job .sjsm {
height: 198px;
overflow: auto;
}
.job .sjsm>div{
.job .sjsm > div {
margin-bottom: 20px;
}
.job .sjsm>div:last-child{
.job .sjsm > div:last-child {
margin-bottom: 0px;
}
.job .sjsm>div{
.job .sjsm > div {
flex: 1;
background:rgba(244,245,249,1);
background: rgba(244, 245, 249, 1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px;
}
.job .sjsm>div .left{
.job .sjsm > div .left {
display: flex;
align-items: center;
}
.job .sjsm>div .left img{
.job .sjsm > div .left img {
padding-right: 10px;
}
.job .sjsm>div .right{
.job .sjsm > div .right {
text-align: right;
color: #888888;
font-size: 12px;
}
.job .hight-font{
color: #0D2481 !important;
.job .hight-font {
color: #0d2481 !important;
font-size: 14px;
}
</style>
<template>
<div class="job" v-loading="loading">
......@@ -95,19 +94,19 @@
<el-col :span="6" class="img">
<div>
<div style="margin-bottom: 10px;">
<img src="../../assets/img/tongji/qinzi.png" alt="">
<img src="../../assets/img/tongji/qinzi.png" alt />
</div>
<p>教育</p>
</div>
</el-col>
<el-col :span="18" style="height: 100%;">
<sexChart :myData="chartData" :strArr="strArr"/>
<sexChart :myData="chartData" :strArr="strArr" />
</el-col>
</el-row>
</el-card>
</el-col>
</el-row>
<el-row :gutter="25" class="bottom" >
<el-row :gutter="25" class="bottom">
<el-col :span="12" style="height: 100%;">
<el-card style="height: 100%;">
<div slot="header" class="clearfix">
......@@ -116,17 +115,25 @@
<div class="sjsm">
<div v-for="(item, index) in orders" :key="index">
<div class="left">
<img v-if="index==0" src="../../assets/img/tongji/qinzhi.png" alt="">
<img v-else-if="index==1" src="../../assets/img/tongji/miyue.png" alt="">
<img v-else-if="index==2" src="../../assets/img/tongji/in3.png" alt="">
<img v-else-if="index==3" src="../../assets/img/tongji/d1.png" alt="">
<img v-else-if="index==4" src="../../assets/img/tongji/hanjia.png" alt="">
<img v-else src="../../assets/img/tongji/qinzhi.png" alt="">
<img v-if="index==0" src="../../assets/img/tongji/qinzhi.png" alt />
<img v-else-if="index==1" src="../../assets/img/tongji/miyue.png" alt />
<img v-else-if="index==2" src="../../assets/img/tongji/in3.png" alt />
<img v-else-if="index==3" src="../../assets/img/tongji/d1.png" alt />
<img v-else-if="index==4" src="../../assets/img/tongji/hanjia.png" alt />
<img v-else src="../../assets/img/tongji/qinzhi.png" alt />
<span class="font-size-12">{{item.DutyTypeName}}</span>
</div>
<div class="right">
<p>累计报名<span class="hight-font">{{item.OrderCount}}</span>人,关联购物金额<span class="hight-font">{{item.ShopMoney}}</span>万,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<p>最喜爱产品<span class="hight-font">{{item.LtName}}</span></p>
<p>
累计报名
<span class="hight-font">{{item.OrderCount}}</span>人,报名均价为
<span class="hight-font">{{item.Unit_Price}}</span>
</p>
<!-- 关联购物金额<span class="hight-font">{{item.ShopMoney}}</span>万, -->
<p>
最喜爱产品
<span class="hight-font">{{item.LtName}}</span>
</p>
</div>
</div>
</div>
......@@ -136,18 +143,16 @@
<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" 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="c">{{topOne && topOne.Content ? topOne.Content : '暂无'}}</div>
<div class="bot" @click="drawer = true">
查看更多,参与讨论(19)
{{BbsList.length ? '查看更多,参与讨论('+ BbsList.length +')' : '暂时还没有讨论,快来发起讨论吧~'}}
<i class="el-icon-d-arrow-right"></i>
</div>
</div>
......@@ -155,18 +160,14 @@
</el-col>
</el-row>
</div>
<el-drawer
size='695px'
:visible.sync="drawer"
direction="rtl"
:with-header="false">
<discussBox :type="discussID"/>
<el-drawer size="695px" :visible.sync="drawer" direction="rtl" :with-header="false">
<discussBox :type="discussID" />
</el-drawer>
</div>
</template>
<script>
import sexChart from './model/sexChart'
import shopChart from './model/shopChart'
import sexChart from "./model/sexChart";
import shopChart from "./model/shopChart";
import discussBox from "./model/discussBox";
export default {
components: {
......@@ -176,45 +177,68 @@ export default {
},
data() {
return {
orders:[],
orders: [],
discussID: 0,
drawer: false,
chartData: [],
shopChartData: [],
SexOrder: [],
loading: false,
strArr: ['娱乐', '教育', '服务']
strArr: ["娱乐", "教育", "服务"],
discussID: 13,
BbsList: [],
topOne: {}
};
},watch:{
},
watch: {},
mounted() {
this.GetSexOrderList()
this.GetSexOrderList();
this.GetBbsListByType();
},
methods: {
GetSexOrderList(){
this.loading = true
GetBbsListByType() {
this.apipost(
"/api/Customer/GetBbsListByType",
{ t: this.discussID },
res => {
this.BbsList = res.data.data;
if (this.BbsList && this.BbsList.length > 0) {
this.topOne = this.BbsList[0];
this.BbsList.forEach(x => {
if (x.Likes > this.topOne.Likes) {
this.topOne = x;
}
});
}
}
);
},
GetSexOrderList() {
this.loading = true;
this.apipost("/api/Statistic/GetDutyTypeOrderList", {}, res => {
this.loading = false
if(res.data.resultCode==1){
this.strArr=[];
let data=res.data.data;
var totalOrder=0;
var totalMoney=0;
data.forEach(item=>{
this.loading = false;
if (res.data.resultCode == 1) {
this.strArr = [];
let data = res.data.data;
var totalOrder = 0;
var totalMoney = 0;
data.forEach(item => {
this.strArr.push(item.DutyTypeName);
totalOrder+=item.OrderCount;
totalMoney+=item.ShopMoney;
})
data.forEach(item=>{
this.chartData.push(((item.OrderCount/totalOrder)*100).toFixed(2));
})
this.orders=res.data.data;
}else{
totalOrder += item.OrderCount;
totalMoney += item.ShopMoney;
});
data.forEach(item => {
this.chartData.push(
((item.OrderCount / totalOrder) * 100).toFixed(2)
);
});
this.orders = res.data.data;
} else {
this.$message.error(res.data.message);
}
});
}
}
}
};
</script>
\ No newline at end of file
......@@ -25,13 +25,15 @@
<div class="r">
<div>
累计报名
<b>{{item.AgeCount}}</b> 人,关联购物金额
<b>{{item.AgeCount}}</b> 人,
<!-- 关联购物金额
<b>
<template v-if="item.TotalMoney">
{{(item.TotalMoney/10000).toFixed(2)}}
</template>
</b>,报名均价为:
</b>, -->
报名均价为:
<b>
<template v-if="item.Unit_Price">
{{item.Unit_Price.toFixed(0)}}
......@@ -71,9 +73,9 @@
</el-row>
</div>
<div class="situ">
<div class="c">根据对客户年龄段的统计可以,更好的了解不同年龄段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等</div>
<div class="c">{{topOne && topOne.Content ? topOne.Content : '暂无'}}</div>
<div class="bot" @click="drawer = true">
查看更多,参与讨论(19)
{{BbsList.length ? '查看更多,参与讨论('+ BbsList.length +')' : '暂时还没有讨论,快来发起讨论吧~'}}
<i class="el-icon-d-arrow-right"></i>
</div>
</div>
......@@ -123,13 +125,32 @@ export default {
"未婚",
"丧偶",
"其他未知"
]
],
discussID: 14,
BbsList: [],
topOne:{}
};
},
mounted() {
this.init();
this.GetBbsListByType()
},
methods: {
GetBbsListByType(){
this.apipost("/api/Customer/GetBbsListByType", {t: this.discussID}, res => {
this.BbsList = res.data.data
if (this.BbsList && this.BbsList.length>0) {
this.topOne=this.BbsList[0]
this.BbsList.forEach(x=>{
if(x.Likes>this.topOne.Likes){
this.topOne=x
}
})
}
});
},
init() {
this.apipost("/api/Statistic/GetMarriageShopList", {}, res => {
res.data.data.forEach(x => {
......@@ -154,8 +175,10 @@ export default {
initOrders() {
this.apipost("/api/Statistic/GetMarriageOrderList", {}, res => {
res.data.data.forEach(x => {
if(x.Marriage - 1<this.showChats.length){
this.showChats[x.Marriage - 1].LtName = x.LtName;
this.showChats[x.Marriage - 1].Unit_Price = x.Unit_Price;
}
});
this.isLoaded = true;
});
......
......@@ -124,7 +124,8 @@
<span class="font-size-12">{{item.MarriageName}}</span>
</div>
<div class="right">
<p>累计报名<span class="hight-font">{{item.MarriageCount}}</span>人,关联购物金额<span class="hight-font">{{item.TotalMoney}}</span>万,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<p>累计报名<span class="hight-font">{{item.MarriageCount}}</span>人,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<!-- 关联购物金额<span class="hight-font">{{item.TotalMoney}}</span>万, -->
<p>最喜爱产品<span class="hight-font">{{item.LtName}}</span></p>
</div>
</div>
......
......@@ -147,7 +147,7 @@
<img width="24" height="24" :src="item.ImgPhoto" alt="">
<span style="font-size:14px;font-family:perfectFont;font-weight:700;">{{item.RejectUserName}}</span>
</div>
<span class="font-color-info">{{item.TimeStr}}</span>
<span class="font-color-info" style="font-size:12px;">{{item.TimeStr}}</span>
</div>
<div class="content">
<p>{{item.Content}}</p>
......@@ -176,13 +176,13 @@
<span>{{c.RejectUserName}}</span>
</div>
</div>
<span class="font-color-info">{{c.TimeStr}}</span>
<span class="font-color-info" style="font-size:12px;">{{c.TimeStr}}</span>
</div>
<div class="content">
<p>{{c.Content}}</p>
</div>
<div class="footer">
<span class="cp like" @click="AddLike(c)"><i class="iconfont iconzan"></i>{{c.Likes > 0 ? c.Likes : ''}}</span>
<!-- <span class="cp like" @click="AddLike(c)"><i class="iconfont iconzan"></i>{{c.Likes > 0 ? c.Likes : ''}}</span> -->
<span class="cp" @click="setHF(c.Id)"><i class="iconfont iconhuifu"></i>{{hfID === c.Id ? '取消' : ''}}回复</span>
</div>
<div class="msg-box" v-if="hfID === c.Id">
......
......@@ -52,7 +52,7 @@ export default {
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
formatter: '{a} <br/>{b} : ({d}%)'
},
legend: {
orient: 'vertical',
......@@ -61,7 +61,7 @@ export default {
},
series: [
{
name: '访问来源',
name: '购物占比',
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
......
......@@ -25,12 +25,14 @@
<div class="r">
<div>
累计报名
<b>{{item.AgeCount}}</b> 人,关联购物金额
<b>{{item.AgeCount}}</b> 人,
<!-- 关联购物金额
<b>
<template v-if="item.TotalMoney">
{{(item.TotalMoney/10000).toFixed(2)}}
</template>
</b>,报名均价为:
</b>, -->
报名均价为:
<b>
<template v-if="item.Unit_Price">
{{item.Unit_Price.toFixed(0)}}
......@@ -72,7 +74,7 @@
</el-row>
</div>
<div class="situ">
<div class="c">{{BbsList.length ? BbsList[0].Content : '暂无'}}</div>
<div class="c">{{topOne && topOne.Content ? topOne.Content : '暂无'}}</div>
<div class="bot" @click="drawer = true">
{{BbsList.length ? '查看更多,参与讨论('+ BbsList.length +')' : '暂时还没有讨论,快来发起讨论吧~'}}
<i class="el-icon-d-arrow-right"></i>
......@@ -81,27 +83,6 @@
</el-card>
</div>
</div>
<!-- <div class="title">购物统计(按平均计算)</div>
<shopping></shopping>
<div class="title" style="margin-top:30px;">我来解图</div>
<div class="situ">
<div class="head">
<el-row style="width:100%">
<el-col ::span="12" size="30" style="font-size:14px;">
<el-avatar style="margin-top:3px;margin-right:5px;vertical-align: bottom;">系统</el-avatar>系统默认
</el-col>
<el-col :span="12" class="right">
<i class="iconfont icondianzan1"></i> 点赞
</el-col>
</el-row>
</div>
<div class="c">根据对客户年龄段的统计可以,更好的了解不同年龄段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等</div>
<div class="bot">
查看更多,参与讨论(19)
<i class="el-icon-d-arrow-right"></i>
</div>
</div>-->
</el-col>
</el-row>
<el-drawer
......@@ -126,7 +107,7 @@ export default {
},
data() {
return {
discussID: 2,
drawer: false,
scaleData: [],
showChats: [],
......@@ -151,7 +132,9 @@ export default {
"中年(46-69岁)",
"老年(70岁以上)"
],
discussID: 2,
BbsList: [],
topOne:{}
};
},
mounted() {
......@@ -160,8 +143,18 @@ export default {
},
methods: {
GetBbsListByType(){
this.apipost("/api/Customer/GetBbsListByType", {t: 2}, res => {
this.apipost("/api/Customer/GetBbsListByType", {t: this.discussID}, res => {
this.BbsList = res.data.data
if (this.BbsList && this.BbsList.length>0) {
this.topOne=this.BbsList[0]
this.BbsList.forEach(x=>{
if(x.Likes>this.topOne.Likes){
this.topOne=x
}
})
}
});
},
init() {
......@@ -190,8 +183,10 @@ export default {
initOrders() {
this.apipost("/api/Statistic/GetAgeOrderList", {}, res => {
res.data.data.forEach(x => {
if(x.NewAgeType - 1<this.showChats.length){
this.showChats[x.NewAgeType - 1].LtName = x.LtName;
this.showChats[x.NewAgeType - 1].Unit_Price = x.Unit_Price;
}
});
this.isLoaded = true;
});
......
<style>
.sex{
.sex {
height: calc(100% - 25px);
}
.statistics-title {
......@@ -9,7 +9,7 @@
margin-bottom: 30px;
font-family: perfectFont;
}
.sex .conten-box{
.sex .conten-box {
display: flex;
flex-direction: column;
height: calc(100% - 62px);
......@@ -17,18 +17,18 @@
.sex .conten-box .el-card .el-card__header {
font-weight: normal !important;
}
.sex .conten-box .top{
.sex .conten-box .top {
flex: 1.2;
margin-bottom: 25px;
}
.sex .conten-box .bottom{
flex: .8;
.sex .conten-box .bottom {
flex: 0.8;
}
.sex .conten-box .left{
.sex .conten-box .left {
height: 100%;
}
.sex .conten-box .el-card.blue {
background: #0D2481!important;
background: #0d2481 !important;
color: #fff !important;
height: calc(100% - 2px);
}
......@@ -41,42 +41,67 @@
display: flex;
align-items: flex-end;
text-align: center;
padding: 20px 70px 10px 70px!important;
padding: 20px 70px 10px 70px !important;
justify-content: space-between;
font-size: 14px;
}
.sex .sjsm{
.sex .sjsm {
display: flex;
flex-direction: column;
}
.sex .sjsm>div{
.sex .sjsm > div {
margin-bottom: 20px;
}
.sex .sjsm>div{
.sex .sjsm > div {
flex: 1;
background:rgba(244,245,249,1);
background: rgba(244, 245, 249, 1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px;
}
.sex .sjsm>div .left{
.sex .sjsm > div .left {
display: flex;
align-items: center;
}
.sex .sjsm>div .left img{
.sex .sjsm > div .left img {
padding-right: 10px;
}
.sex .sjsm>div .right{
.sex .sjsm > div .right {
text-align: right;
color: #888888;
font-size: 12px;
}
.sex .hight-font{
color: #0D2481 !important;
.sex .hight-font {
color: #0d2481 !important;
font-size: 14px;
}
.sex .situ {
/* width: 100%;*/
height: 100%;
}
.sex .situ .head {
height: 36px;
display: flex;
line-height: 36px;
margin: 10px 0;
/* border-bottom: 1px solid #EEE; */
}
.sex .situ .c {
font-size: 14px;
color: #333;
height: calc(100% - 20px);
overflow-y: auto;
}
.sex .situ .bot {
height: 20px;
line-height: 20px;
/* text-decoration: underline; */
cursor: pointer;
color: rgb(13, 36, 129);
font-size: 12px;
text-align: right;
}
</style>
<template>
<div class="sex" v-loading="loading">
......@@ -92,13 +117,13 @@
<el-col :span="10" class="img">
<div>
<div style="margin-bottom: 10px;">
<img src="../../assets/img/tongji/zhufang.png" alt="">
<img src="../../assets/img/tongji/zhufang.png" alt />
</div>
<p>住房</p>
</div>
</el-col>
<el-col :span="14" style="height: 100%;">
<sexChart :myData="chartData" :strArr="strArr"/>
<sexChart :myData="chartData" :strArr="strArr" />
</el-col>
</el-row>
</el-card>
......@@ -106,13 +131,16 @@
<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>
<span>
购物统计
<span class="font-size-12">(按平均计算)</span>
</span>
</div>
<shopChart :shopChartData="shopChartData"/>
<shopChart :shopChartData="shopChartData" />
</el-card>
</el-col>
</el-row>
<el-row :gutter="25" class="bottom" >
<el-row :gutter="25" class="bottom">
<el-col :span="16" style="height: 100%;">
<el-card style="height: 100%;">
<div slot="header" class="clearfix">
......@@ -121,15 +149,23 @@
<div style="height: 100%;" class="sjsm">
<div v-for="(item, index) in orderList" :key="index">
<div class="left">
<img v-if="item.NewHouseType==1" src="../../assets/img/tongji/room1.png" alt="">
<img v-if="item.NewHouseType==2" src="../../assets/img/tongji/room2.png" alt="">
<img v-if="item.NewHouseType==3" src="../../assets/img/tongji/room3.png" alt="">
<img v-if="item.NewHouseType==5" src="../../assets/img/tongji/room4.png" alt="">
<img v-if="item.NewHouseType==1" src="../../assets/img/tongji/room1.png" alt />
<img v-if="item.NewHouseType==2" src="../../assets/img/tongji/room2.png" alt />
<img v-if="item.NewHouseType==3" src="../../assets/img/tongji/room3.png" alt />
<img v-if="item.NewHouseType==5" src="../../assets/img/tongji/room4.png" alt />
<span class="font-size-12">{{item.HouseTypeName}}</span>
</div>
<div class="right">
<p>累计报名<span class="hight-font">{{orders[index].HouseCount}}</span>人,关联购物金额<span class="hight-font">{{orders[index].TotalMoney}}</span>万,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<p>最喜爱产品<span class="hight-font">{{item.LtName}}</span></p>
<p>
累计报名
<span class="hight-font">{{orders[index].HouseCount}}</span>人,报名均价为
<span class="hight-font">{{item.Unit_Price}}</span>
</p>
<!-- 关联购物金额<span class="hight-font">{{orders[index].TotalMoney}}</span>万, -->
<p>
最喜爱产品
<span class="hight-font">{{item.LtName}}</span>
</p>
</div>
</div>
</div>
......@@ -139,37 +175,33 @@
<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" size="30">推荐解答</el-col>
<!-- <el-col :span="12" class="right-title">
<i class="iconfont icondianzan1"></i> 点赞
</el-col> -->
</el-col>-->
</el-row>
</div>
<div class="situ">
<div class="c">根据对客户年龄段的统计,可以更好的了解不同年龄段客 人的喜根据对客户年龄段的统计。根据对客户年龄段的统 计,可以更好的了解不同年龄段客人的喜根据对客户年龄 段的统计</div>
<div class="c">{{topOne && topOne.Content ? topOne.Content : '暂无'}}</div>
<div class="bot" @click="drawer = true">
查看更多,参与讨论(1)
<i class="el-icon-d-arrow-right"></i>
{{BbsList.length ? '查看更多,参与讨论('+ BbsList.length +')' : '暂时还没有讨论,快来发起讨论吧~'}}
<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 size="695px" :visible.sync="drawer" direction="rtl" :with-header="false">
<discussBox :type="discussID" />
</el-drawer>
</div>
</template>
<script>
import sexChart from './model/sexChart'
import shopChart from './model/shopChart'
import sexChart from "./model/sexChart";
import shopChart from "./model/shopChart";
import discussBox from "./model/discussBox";
export default {
components: {
......@@ -184,89 +216,102 @@ export default {
chartData: [0, 0],
shopChartData: [],
loading: false,
strArr: ["70平米以下","71-90平米","91-120平米","未知"],
orders:[],
orderList:[],
strArr: ["70平米以下", "71-90平米", "91-120平米", "未知"],
orders: [],
orderList: [],
discussID: 15,
BbsList: [],
topOne: {}
};
},watch:{
},
watch: {},
mounted() {
this.GetSexOrderList();
this.getOrderInfo();
this.GetBbsListByType()
},
methods: {
GetSexOrderList(){
this.loading = true
GetBbsListByType() {
this.apipost(
"/api/Customer/GetBbsListByType",
{ t: this.discussID },
res => {
this.BbsList = res.data.data;
if (this.BbsList && this.BbsList.length > 0) {
this.topOne = this.BbsList[0];
this.BbsList.forEach(x => {
if (x.Likes > this.topOne.Likes) {
this.topOne = x;
}
});
}
}
);
},
GetSexOrderList() {
this.loading = true;
this.apipost("/api/Statistic/GetHouseShopList", {}, res => {
this.loading = false;
if(res.data.resultCode==1){
let contHouse = res.data.data[0].HouseCount + res.data.data[1].HouseCount+ res.data.data[2].HouseCount+ res.data.data[3].HouseCount,
if (res.data.resultCode == 1) {
let contHouse =
res.data.data[0].HouseCount +
res.data.data[1].HouseCount +
res.data.data[2].HouseCount +
res.data.data[3].HouseCount,
one = res.data.data[0].HouseCount,
two = res.data.data[1].HouseCount,
three = res.data.data[2].HouseCount,
four= res.data.data[3].HouseCount,
contNum = res.data.data[0].TotalMoney + res.data.data[1].TotalMoney+ res.data.data[2].TotalMoney+ res.data.data[3].TotalMoney,
four = res.data.data[3].HouseCount,
contNum =
res.data.data[0].TotalMoney +
res.data.data[1].TotalMoney +
res.data.data[2].TotalMoney +
res.data.data[3].TotalMoney,
oneN = res.data.data[0].TotalMoney,
twoN = res.data.data[1].TotalMoney,
threeN = res.data.data[2].TotalMoney,
fourN = res.data.data[3].TotalMoney;
let chartData = [], shopChartData = [];
chartData.push(
((one/contHouse)*100).toFixed(2)
)
chartData.push(
((two/contHouse)*100).toFixed(2)
)
chartData.push(
((three/contHouse)*100).toFixed(2)
)
chartData.push(
((four/contHouse)*100).toFixed(2)
)
shopChartData.push(
{
num: Number(((oneN/contNum)*100).toFixed(2)),
let chartData = [],
shopChartData = [];
chartData.push(((one / contHouse) * 100).toFixed(2));
chartData.push(((two / contHouse) * 100).toFixed(2));
chartData.push(((three / contHouse) * 100).toFixed(2));
chartData.push(((four / contHouse) * 100).toFixed(2));
shopChartData.push({
num: Number(((oneN / contNum) * 100).toFixed(2)),
color: "#0D2481",
text: '70平米以下'
}
)
shopChartData.push(
{
num: Number(((twoN/contNum)*100).toFixed(2)),
text: "70平米以下"
});
shopChartData.push({
num: Number(((twoN / contNum) * 100).toFixed(2)),
color: "#FFA475",
text: '71-90平米'
}
)
shopChartData.push(
{
num: Number(((threeN/contNum)*100).toFixed(2)),
text: "71-90平米"
});
shopChartData.push({
num: Number(((threeN / contNum) * 100).toFixed(2)),
color: "#99BD7B",
text: '91-120平米'
}
)
shopChartData.push(
{
num: Number(((fourN/contNum)*100).toFixed(2)),
text: "91-120平米"
});
shopChartData.push({
num: Number(((fourN / contNum) * 100).toFixed(2)),
color: "#D2C9F1",
text: '未知'
}
)
this.chartData = chartData
this.shopChartData = shopChartData
this.orders=res.data.data;
}else{
text: "未知"
});
this.chartData = chartData;
this.shopChartData = shopChartData;
this.orders = res.data.data;
} else {
}
});
},
getOrderInfo(){
getOrderInfo() {
this.apipost("/api/Statistic/GetHouseOrderList", {}, res => {
if(res.data.resultCode==1){
this.orderList=res.data.data;
if (res.data.resultCode == 1) {
this.orderList = res.data.data;
}
});
}
}
}
};
</script>
\ No newline at end of file
<style>
.sex{
.sex {
height: calc(100% - 25px);
}
.statistics-title {
......@@ -9,7 +9,7 @@
margin-bottom: 30px;
font-family: perfectFont;
}
.sex .conten-box{
.sex .conten-box {
display: flex;
flex-direction: column;
height: calc(100% - 62px);
......@@ -17,18 +17,18 @@
.sex .conten-box .el-card .el-card__header {
font-weight: normal !important;
}
.sex .conten-box .top{
.sex .conten-box .top {
flex: 1.2;
margin-bottom: 25px;
}
.sex .conten-box .bottom{
flex: .8;
.sex .conten-box .bottom {
flex: 0.8;
}
.sex .conten-box .left{
.sex .conten-box .left {
height: 100%;
}
.sex .conten-box .el-card.blue {
background: #0D2481!important;
background: #0d2481 !important;
color: #fff !important;
height: calc(100% - 2px);
}
......@@ -41,42 +41,41 @@
display: flex;
align-items: flex-end;
text-align: center;
padding: 20px 70px 10px 70px!important;
padding: 20px 70px 10px 70px !important;
justify-content: space-between;
font-size: 14px;
}
.sex .sjsm{
.sex .sjsm {
display: flex;
flex-direction: column;
}
.sex .sjsm>div:nth-child(1){
.sex .sjsm > div:nth-child(1) {
margin-bottom: 20px;
}
.sex .sjsm>div{
.sex .sjsm > div {
flex: 1;
background:rgba(244,245,249,1);
background: rgba(244, 245, 249, 1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px;
}
.sex .sjsm>div .left{
.sex .sjsm > div .left {
display: flex;
align-items: center;
}
.sex .sjsm>div .left img{
.sex .sjsm > div .left img {
padding-right: 10px;
}
.sex .sjsm>div .right{
.sex .sjsm > div .right {
text-align: right;
color: #888888;
font-size: 12px;
}
.sex .hight-font{
color: #0D2481 !important;
.sex .hight-font {
color: #0d2481 !important;
font-size: 14px;
}
</style>
<template>
<div class="sex" v-loading="loading">
......@@ -92,13 +91,13 @@
<el-col :span="10" class="img">
<div>
<div style="margin-bottom: 10px;">
<img src="../../assets/img/tongji/jj.png" alt="">
<img src="../../assets/img/tongji/jj.png" alt />
</div>
<p>季节</p>
</div>
</el-col>
<el-col :span="14" style="height: 100%;">
<sexChart :myData="chartData" :strArr="strArr"/>
<sexChart :myData="chartData" :strArr="strArr" />
</el-col>
</el-row>
</el-card>
......@@ -106,13 +105,16 @@
<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>
<span>
购物统计
<span class="font-size-12">(按平均计算)</span>
</span>
</div>
<shopChart :shopChartData="shopChartData"/>
<shopChart :shopChartData="shopChartData" />
</el-card>
</el-col>
</el-row>
<el-row :gutter="25" class="bottom" >
<el-row :gutter="25" class="bottom">
<el-col :span="16" style="height: 100%;">
<el-card style="height: 100%;">
<div slot="header" class="clearfix">
......@@ -121,15 +123,23 @@
<div style="height: 100%;" class="sjsm">
<div v-for="(item, index) in orders" :key="index">
<div class="left">
<img v-if="item.SeasonType === 1" src="../../assets/img/tongji/cj.png" alt="">
<img v-if="item.SeasonType === 2" src="../../assets/img/tongji/xj.png" alt="">
<img v-if="item.SeasonType === 3" src="../../assets/img/tongji/qj.png" alt="">
<img v-if="item.SeasonType === 4" src="../../assets/img/tongji/dj.png" alt="">
<img v-if="item.SeasonType === 1" src="../../assets/img/tongji/cj.png" alt />
<img v-if="item.SeasonType === 2" src="../../assets/img/tongji/xj.png" alt />
<img v-if="item.SeasonType === 3" src="../../assets/img/tongji/qj.png" alt />
<img v-if="item.SeasonType === 4" src="../../assets/img/tongji/dj.png" alt />
<span class="font-size-12">{{item.SeasonTypeName}}</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>
<p>
累计报名
<span class="hight-font">{{item.StudentCount}}</span>人,报名均价为
<span class="hight-font">{{item.Unit_Price}}</span>
</p>
<!-- 关联购物金额<span class="hight-font">{{item.TotalMoney}}</span>万, -->
<p>
最喜爱产品
<span class="hight-font">{{item.LtName}}</span>
</p>
</div>
</div>
</div>
......@@ -139,37 +149,33 @@
<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" size="30">推荐解答</el-col>
<!-- <el-col :span="12" class="right-title">
<i class="iconfont icondianzan1"></i> 点赞
</el-col> -->
</el-col>-->
</el-row>
</div>
<div class="situ">
<div class="c">根据对客户季节的统计可以,更好的了解不同季节客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等</div>
<div class="c">{{topOne && topOne.Content ? topOne.Content : '暂无'}}</div>
<div class="bot" @click="drawer = true">
查看更多,参与讨论(1)
<i class="el-icon-d-arrow-right"></i>
{{BbsList.length ? '查看更多,参与讨论('+ BbsList.length +')' : '暂时还没有讨论,快来发起讨论吧~'}}
<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 size="695px" :visible.sync="drawer" direction="rtl" :with-header="false">
<discussBox :type="discussID" />
</el-drawer>
</div>
</template>
<script>
import sexChart from './model/sexChart'
import shopChart from './model/shopChart'
import sexChart from "./model/sexChart";
import shopChart from "./model/shopChart";
import discussBox from "./model/discussBox";
export default {
components: {
......@@ -185,88 +191,102 @@ export default {
shopChartData: [],
SexOrder: [],
loading: false,
strArr: ['春季', '夏季', '秋季', '冬季'],
orders:[]
strArr: ["春季", "夏季", "秋季", "冬季"],
orders: [],
discussID: 16,
BbsList: [],
topOne: {}
};
},watch:{
},
watch: {},
mounted() {
this.GetSexOrderList()
this.GetSexOrderList();
this.GetBbsListByType();
},
methods: {
GetSexOrderList(){
this.loading = true
GetBbsListByType() {
this.apipost(
"/api/Customer/GetBbsListByType",
{ t: this.discussID },
res => {
this.BbsList = res.data.data;
if (this.BbsList && this.BbsList.length > 0) {
this.topOne = this.BbsList[0];
this.BbsList.forEach(x => {
if (x.Likes > this.topOne.Likes) {
this.topOne = x;
}
});
}
}
);
},
GetSexOrderList() {
this.loading = true;
this.apipost("/api/Statistic/GetSeasonShopList", {}, res => {
console.log("dsafsaf",res);
let contShop = res.data.data[0].TotalMoney + res.data.data[1].TotalMoney+ res.data.data[2].TotalMoney+ res.data.data[3].TotalMoney,
console.log("dsafsaf", res);
let contShop =
res.data.data[0].TotalMoney +
res.data.data[1].TotalMoney +
res.data.data[2].TotalMoney +
res.data.data[3].TotalMoney,
one = res.data.data[0].TotalMoney,
two = res.data.data[1].TotalMoney,
three = res.data.data[2].TotalMoney,
four= res.data.data[3].TotalMoney,
contNum = res.data.data[0].SeasonCount + res.data.data[1].SeasonCount+ res.data.data[2].SeasonCount+ res.data.data[3].SeasonCount,
four = res.data.data[3].TotalMoney,
contNum =
res.data.data[0].SeasonCount +
res.data.data[1].SeasonCount +
res.data.data[2].SeasonCount +
res.data.data[3].SeasonCount,
oneN = res.data.data[0].SeasonCount,
twoN = res.data.data[1].SeasonCount,
threeN = res.data.data[2].SeasonCount,
fourN = res.data.data[3].SeasonCount;
let chartData = [], shopChartData = [];
chartData.push(
((oneN/contNum)*100).toFixed(2)
)
chartData.push(
((twoN/contNum)*100).toFixed(2)
)
chartData.push(
((threeN/contNum)*100).toFixed(2)
)
chartData.push(
((fourN/contNum)*100).toFixed(2)
)
shopChartData.push(
{
num: Number(((one/contShop)*100).toFixed(2)),
let chartData = [],
shopChartData = [];
chartData.push(((oneN / contNum) * 100).toFixed(2));
chartData.push(((twoN / contNum) * 100).toFixed(2));
chartData.push(((threeN / contNum) * 100).toFixed(2));
chartData.push(((fourN / contNum) * 100).toFixed(2));
shopChartData.push({
num: Number(((one / contShop) * 100).toFixed(2)),
color: "#0D2481",
text: '春季'
}
)
shopChartData.push(
{
num: Number(((two/contShop)*100).toFixed(2)),
text: "春季"
});
shopChartData.push({
num: Number(((two / contShop) * 100).toFixed(2)),
color: "#FFA475",
text: '夏季'
}
)
shopChartData.push(
{
num: Number(((three/contShop)*100).toFixed(2)),
text: "夏季"
});
shopChartData.push({
num: Number(((three / contShop) * 100).toFixed(2)),
color: "#99BD7B",
text: '秋季'
}
)
shopChartData.push(
{
num: Number(((four/contShop)*100).toFixed(2)),
text: "秋季"
});
shopChartData.push({
num: Number(((four / contShop) * 100).toFixed(2)),
color: "#D2C9F1",
text: '冬季'
}
)
this.chartData = chartData
this.shopChartData = shopChartData
this.orders=res.data.data;
text: "冬季"
});
this.chartData = chartData;
this.shopChartData = shopChartData;
this.orders = res.data.data;
this.getOrders()
this.getOrders();
});
},
getOrders(){
getOrders() {
this.apipost("/api/Statistic/GetSeasonOrderList", {}, res => {
console.log(res)
console.log(res);
res.data.data.forEach(x => {
this.orders[x.NewSeasonType - 1].LtName = x.LtName;
this.orders[x.NewSeasonType - 1].Unit_Price = x.Unit_Price;
});
this.loading = false
this.loading = false;
});
}
}
}
};
</script>
\ No newline at end of file
<style>
.sex{
.sex {
height: calc(100% - 25px);
}
.statistics-title {
......@@ -9,7 +9,7 @@
margin-bottom: 30px;
font-family: perfectFont;
}
.sex .conten-box{
.sex .conten-box {
display: flex;
flex-direction: column;
height: calc(100% - 62px);
......@@ -17,18 +17,18 @@
.sex .conten-box .el-card .el-card__header {
font-weight: normal !important;
}
.sex .conten-box .top{
.sex .conten-box .top {
flex: 1.2;
margin-bottom: 25px;
}
.sex .conten-box .bottom{
flex: .8;
.sex .conten-box .bottom {
flex: 0.8;
}
.sex .conten-box .left{
.sex .conten-box .left {
height: 100%;
}
.sex .conten-box .el-card.blue {
background: #0D2481!important;
background: #0d2481 !important;
color: #fff !important;
height: calc(100% - 2px);
}
......@@ -41,42 +41,67 @@
display: flex;
align-items: flex-end;
text-align: center;
padding: 20px 70px 10px 70px!important;
padding: 20px 70px 10px 70px !important;
justify-content: space-between;
font-size: 14px;
}
.sex .sjsm{
.sex .sjsm {
display: flex;
flex-direction: column;
}
.sex .sjsm>div:nth-child(1){
.sex .sjsm > div:nth-child(1) {
margin-bottom: 20px;
}
.sex .sjsm>div{
.sex .sjsm > div {
flex: 1;
background:rgba(244,245,249,1);
background: rgba(244, 245, 249, 1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px;
}
.sex .sjsm>div .left{
.sex .sjsm > div .left {
display: flex;
align-items: center;
}
.sex .sjsm>div .left img{
.sex .sjsm > div .left img {
padding-right: 10px;
}
.sex .sjsm>div .right{
.sex .sjsm > div .right {
text-align: right;
color: #888888;
font-size: 12px;
}
.sex .hight-font{
color: #0D2481 !important;
.sex .hight-font {
color: #0d2481 !important;
font-size: 14px;
}
.sex .situ {
/* width: 100%;*/
height: 100%;
}
.sex .situ .head {
height: 36px;
display: flex;
line-height: 36px;
margin: 10px 0;
/* border-bottom: 1px solid #EEE; */
}
.sex .situ .c {
font-size: 14px;
color: #333;
height: calc(100% - 20px);
overflow-y: auto;
}
.sex .situ .bot {
height: 20px;
line-height: 20px;
/* text-decoration: underline; */
cursor: pointer;
color: rgb(13, 36, 129);
font-size: 12px;
text-align: right;
}
</style>
<template>
<div class="sex" v-loading="loading">
......@@ -92,19 +117,19 @@
<el-col :span="10" class="img">
<div>
<div style="margin-bottom: 10px;">
<img src="../../assets/img/tongji/man.png" alt="">
<img src="../../assets/img/tongji/man.png" alt />
</div>
<p></p>
</div>
<div>
<div style="margin-bottom: 10px;">
<img src="../../assets/img/tongji/woman.png" alt="">
<img src="../../assets/img/tongji/woman.png" alt />
</div>
<p></p>
</div>
</el-col>
<el-col :span="14" style="height: 100%;">
<sexChart :myData="chartData" :strArr="strArr"/>
<sexChart :myData="chartData" :strArr="strArr" />
</el-col>
</el-row>
</el-card>
......@@ -112,13 +137,16 @@
<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>
<span>
购物统计
<span class="font-size-12">(按平均计算)</span>
</span>
</div>
<shopChart :shopChartData="shopChartData"/>
<shopChart :shopChartData="shopChartData" />
</el-card>
</el-col>
</el-row>
<el-row :gutter="25" class="bottom" >
<el-row :gutter="25" class="bottom">
<el-col :span="16" style="height: 100%;">
<el-card style="height: 100%;">
<div slot="header" class="clearfix">
......@@ -127,13 +155,21 @@
<div style="height: 100%;" class="sjsm">
<div v-for="(item, index) in SexOrder" :key="index">
<div class="left">
<img v-if="item.Sex === 1" src="../../assets/img/tongji/man1.png" alt="">
<img v-else src="../../assets/img/tongji/woman1.png" alt="">
<img v-if="item.Sex === 1" src="../../assets/img/tongji/man1.png" alt />
<img v-else src="../../assets/img/tongji/woman1.png" alt />
<span class="font-size-12">{{item.SexStr}}</span>
</div>
<div class="right">
<p>累计报名<span class="hight-font">{{item.SexCount}}</span>人,关联购物金额<span class="hight-font">{{item.ShopMoney}}</span>万,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<p>最喜爱产品<span class="hight-font">{{item.LtName}}</span></p>
<p>
累计报名
<span class="hight-font">{{item.SexCount}}</span>人,报名均价为
<span class="hight-font">{{item.Unit_Price}}</span>
</p>
<!-- 关联购物金额<span class="hight-font">{{item.ShopMoney}}</span>万, -->
<p>
最喜爱产品
<span class="hight-font">{{item.LtName}}</span>
</p>
</div>
</div>
</div>
......@@ -143,37 +179,33 @@
<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" 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">{{BbsList.length ? BbsList[0].Content : '暂无'}}</div>
<div class="c">{{topOne && topOne.Content ? topOne.Content : '暂无'}}</div>
<div class="bot" @click="drawer = true">
{{BbsList.length ? '查看更多,参与讨论('+ BbsList.length +')' : '暂时还没有讨论,快来发起讨论吧~'}}
<i class="el-icon-d-arrow-right"></i>
<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 :type="discussID"/>
<el-drawer size="695px" :visible.sync="drawer" direction="rtl" :with-header="false">
<discussBox :type="discussID" />
</el-drawer>
</div>
</template>
<script>
import sexChart from './model/sexChart'
import shopChart from './model/shopChart'
import sexChart from "./model/sexChart";
import shopChart from "./model/shopChart";
import discussBox from "./model/discussBox";
export default {
components: {
......@@ -189,61 +221,67 @@ export default {
shopChartData: [],
SexOrder: [],
loading: false,
strArr: ['男', '女'],
strArr: ["男", "女"],
BbsList: [],
topOne: {}
};
},watch:{
},
watch: {},
mounted() {
this.GetSexOrderList()
this.GetBbsListByType()
this.GetSexOrderList();
this.GetBbsListByType();
},
methods: {
GetBbsListByType(){
this.apipost("/api/Customer/GetBbsListByType", {t: 2}, res => {
this.BbsList = res.data.data
GetBbsListByType() {
this.apipost("/api/Customer/GetBbsListByType", { t: this.discussID }, res => {
this.BbsList = res.data.data;
if (this.BbsList && this.BbsList.length > 0) {
this.topOne = this.BbsList[0];
this.BbsList.forEach(x => {
if (x.Likes > this.topOne.Likes) {
this.topOne = x;
}
});
}
});
},
GetSexOrderList(){
this.loading = true
GetSexOrderList() {
this.loading = true;
this.apipost("/api/Statistic/GetSexOrderList", {}, res => {
this.SexOrder = res.data.data
let contShop = res.data.data[0].ShopMoney + res.data.data[1].ShopMoney, man = res.data.data[0].ShopMoney, woman = res.data.data[1].ShopMoney,
contNum = res.data.data[0].SexCount + res.data.data[1].SexCount, manN = res.data.data[0].SexCount, womanN = res.data.data[1].SexCount;
let chartData = [], shopChartData = [];
chartData.push(
((manN/contNum)*100).toFixed(2)
)
chartData.push(
((womanN/contNum)*100).toFixed(2)
)
shopChartData.push(
{
num: Number(((man/contShop)*100).toFixed(0)),
this.SexOrder = res.data.data;
let contShop = res.data.data[0].ShopMoney + res.data.data[1].ShopMoney,
man = res.data.data[0].ShopMoney,
woman = res.data.data[1].ShopMoney,
contNum = res.data.data[0].SexCount + res.data.data[1].SexCount,
manN = res.data.data[0].SexCount,
womanN = res.data.data[1].SexCount;
let chartData = [],
shopChartData = [];
chartData.push(((manN / contNum) * 100).toFixed(2));
chartData.push(((womanN / contNum) * 100).toFixed(2));
shopChartData.push({
num: Number(((man / contShop) * 100).toFixed(0)),
color: "#0D2481",
text: '男'
}
)
shopChartData.push(
{
num: Number(((woman/contShop)*100).toFixed(0)),
text: "男"
});
shopChartData.push({
num: Number(((woman / contShop) * 100).toFixed(0)),
color: "#FFA475",
text: '女'
}
)
shopChartData.push(
{
num: 100 - (Number(((man/contShop)*100).toFixed(0)) + Number(((woman/contShop)*100).toFixed(0))),
text: "女"
});
shopChartData.push({
num:
100 -
(Number(((man / contShop) * 100).toFixed(0)) +
Number(((woman / contShop) * 100).toFixed(0))),
color: "#FFFFFF",
text: ''
}
)
this.chartData = chartData
this.shopChartData = shopChartData
this.loading = false
text: ""
});
this.chartData = chartData;
this.shopChartData = shopChartData;
this.loading = false;
});
}
}
}
};
</script>
\ No newline at end of file
<style>
.tourType{
.tourType {
height: calc(100% - 25px);
}
.statistics-title {
......@@ -9,7 +9,7 @@
margin-bottom: 30px;
font-family: perfectFont;
}
.tourType .conten-box{
.tourType .conten-box {
display: flex;
flex-direction: column;
height: calc(100% - 62px);
......@@ -17,18 +17,18 @@
.tourType .conten-box .el-card .el-card__header {
font-weight: normal !important;
}
.tourType .conten-box .top{
.tourType .conten-box .top {
flex: 1.2;
margin-bottom: 25px;
}
.tourType .conten-box .bottom{
flex: .8;
.tourType .conten-box .bottom {
flex: 0.8;
}
.tourType .conten-box .left{
.tourType .conten-box .left {
height: 100%;
}
.tourType .conten-box .el-card.blue {
background: #0D2481!important;
background: #0d2481 !important;
color: #fff !important;
height: calc(100% - 2px);
}
......@@ -41,48 +41,73 @@
display: flex;
align-items: flex-end;
text-align: center;
padding: 27px 0 0 40px!important;
padding: 27px 0 0 40px !important;
justify-content: center;
font-size: 14px;
}
.tourType .sjsm{
.tourType .sjsm {
height: 198px;
overflow: auto;
}
.tourType .sjsm>div{
.tourType .sjsm > div {
margin-bottom: 20px;
}
.tourType .sjsm>div:last-child{
.tourType .sjsm > div:last-child {
margin-bottom: 0px;
}
.tourType .sjsm>div{
.tourType .sjsm > div {
flex: 1;
background:rgba(244,245,249,1);
background: rgba(244, 245, 249, 1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px;
}
.tourType .sjsm>div .left{
.tourType .sjsm > div .left {
display: flex;
align-items: center;
font-size: 14px;
font-family: 'perfectFont';
font-family: "perfectFont";
font-weight: 900;
}
.tourType .sjsm>div .left img{
.tourType .sjsm > div .left img {
padding-right: 10px;
}
.tourType .sjsm>div .right{
.tourType .sjsm > div .right {
text-align: right;
color: #888888;
font-size: 12px;
}
.tourType .hight-font{
color: #0D2481 !important;
.tourType .hight-font {
color: #0d2481 !important;
font-size: 14px;
}
.tourType .situ {
/* width: 100%;*/
height: 100%;
}
.tourType .situ .head {
height: 36px;
display: flex;
line-height: 36px;
margin: 10px 0;
/* border-bottom: 1px solid #EEE; */
}
.tourType .situ .c {
font-size: 14px;
color: #333;
height: calc(100% - 20px);
overflow-y: auto;
}
.tourType .situ .bot {
height: 20px;
line-height: 20px;
/* text-decoration: underline; */
cursor: pointer;
color: rgb(13, 36, 129);
font-size: 12px;
text-align: right;
}
</style>
<template>
<div class="tourType" v-loading="loading">
......@@ -98,13 +123,13 @@
<el-col :span="10" class="img">
<div>
<div style="margin-bottom: 10px;">
<img src="../../assets/img/tongji/qinzi.png" alt="">
<img src="../../assets/img/tongji/qinzi.png" alt />
</div>
<!-- <p>亲子出游</p> -->
</div>
</el-col>
<el-col :span="14" style="height: 100%;">
<sexChart :myData="chartData" :strArr="strArr"/>
<sexChart :myData="chartData" :strArr="strArr" />
</el-col>
</el-row>
</el-card>
......@@ -112,13 +137,16 @@
<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>
<span>
购物统计
<span class="font-size-12">(按平均计算)</span>
</span>
</div>
<shopChart :shopChartData="shopChartData"/>
<shopChart :shopChartData="shopChartData" />
</el-card>
</el-col>
</el-row>
<el-row :gutter="25" class="bottom" >
<el-row :gutter="25" class="bottom">
<el-col :span="16" style="height: 100%;">
<el-card style="height: 100%;">
<div slot="header" class="clearfix">
......@@ -127,16 +155,24 @@
<div class="sjsm">
<div v-for="(item, index) in orders" :key="index">
<div class="left">
<img v-if="index==0" src="../../assets/img/tongji/qinzhi.png" alt="">
<img v-if="index==1" src="../../assets/img/tongji/miyue.png" alt="">
<img v-if="index==2" src="../../assets/img/tongji/in3.png" alt="">
<img v-if="index==3" src="../../assets/img/tongji/d1.png" alt="">
<img v-if="index==4" src="../../assets/img/tongji/hanjia.png" alt="">
<img v-if="index==0" src="../../assets/img/tongji/qinzhi.png" alt />
<img v-if="index==1" src="../../assets/img/tongji/miyue.png" alt />
<img v-if="index==2" src="../../assets/img/tongji/in3.png" alt />
<img v-if="index==3" src="../../assets/img/tongji/d1.png" alt />
<img v-if="index==4" src="../../assets/img/tongji/hanjia.png" alt />
<span class="font-size-12">{{item.TravelTypeName}}</span>
</div>
<div class="right">
<p>累计报名<span class="hight-font">{{item.TravelCount}}</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>
<p>
累计报名
<span class="hight-font">{{item.TravelCount}}</span>人,报名均价为
<span class="hight-font">{{item.Unit_Price}}</span>
</p>
<!-- 关联购物金额<span class="hight-font">{{item.TotalMoney}}</span>万, -->
<p>
最喜爱产品
<span class="hight-font">{{item.LtName}}</span>
</p>
</div>
</div>
</div>
......@@ -146,37 +182,33 @@
<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" size="30">推荐解答</el-col>
<el-col :span="12" class="right-title">
<i class="iconfont icondianzan1"></i> 点赞
<!-- <i class="iconfont icondianzan1"></i> 点赞 -->
</el-col>
</el-row>
</div>
<div class="situ">
<div class="c">根据对出游类型的统计可以,更好的了解不同出游类型客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等</div>
<div class="c">{{topOne && topOne.Content ? topOne.Content : '暂无'}}</div>
<div class="bot" @click="drawer = true">
查看更多,参与讨论(1)
<i class="el-icon-d-arrow-right"></i>
{{BbsList.length ? '查看更多,参与讨论('+ BbsList.length +')' : '暂时还没有讨论,快来发起讨论吧~'}}
<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 :type="discussID"/>
<el-drawer size="695px" :visible.sync="drawer" direction="rtl" :with-header="false">
<discussBox :type="discussID" />
</el-drawer>
</div>
</template>
<script>
import sexChart from './model/sexChart'
import shopChart from './model/shopChart'
import sexChart from "./model/sexChart";
import shopChart from "./model/shopChart";
import discussBox from "./model/discussBox";
export default {
components: {
......@@ -186,135 +218,155 @@ export default {
},
data() {
return {
orders:[],
discussID: 0,
orders: [],
drawer: false,
chartData: [],
shopChartData: [],
SexOrder: [17,5,20,37,21],
SexOrder: [17, 5, 20, 37, 21],
loading: false,
strArr: ['亲子', '蜜月', '夕阳红', '暑期', '寒假'],
imgs:[{
url:require('../../assets/img/tongji/qinzhi.png')
},{
url:require('../../assets/img/tongji/miyue.png')
},{
url:require('../../assets/img/tongji/xiyang.png')
},{
url:require('../../assets/img/tongji/shujia.png')
},{
url:require('../../assets/img/tongji/hanjia.png')
}]
strArr: ["亲子", "蜜月", "夕阳红", "暑期", "寒假"],
imgs: [
{
url: require("../../assets/img/tongji/qinzhi.png")
},
{
url: require("../../assets/img/tongji/miyue.png")
},
{
url: require("../../assets/img/tongji/xiyang.png")
},
{
url: require("../../assets/img/tongji/shujia.png")
},
{
url: require("../../assets/img/tongji/hanjia.png")
}
],
discussID: 17,
BbsList: [],
topOne: {}
};
},watch:{
},
watch: {},
mounted() {
this.GetSexOrderList()
this.GetSexOrderList();
this.GetBbsListByType();
},
methods: {
GetSexOrderList(){
this.loading = true
this.apipost("/api/Statistic/GetTravelTypeShopList", {}, res => {
GetBbsListByType() {
this.apipost(
"/api/Customer/GetBbsListByType",
{ t: this.discussID },
res => {
this.BbsList = res.data.data;
this.strArr=[];
let data=res.data.data;
data.forEach(item=>{
this.strArr.push(item.TravelTypeName)
})
let contShop = res.data.data[0].TotalMoney + res.data.data[1].TotalMoney+ res.data.data[2].TotalMoney+ res.data.data[3].TotalMoney+ res.data.data[4].TotalMoney,
if (this.BbsList && this.BbsList.length > 0) {
this.topOne = this.BbsList[0];
this.BbsList.forEach(x => {
if (x.Likes > this.topOne.Likes) {
this.topOne = x;
}
});
}
}
);
},
GetSexOrderList() {
this.loading = true;
this.apipost("/api/Statistic/GetTravelTypeShopList", {}, res => {
this.strArr = [];
let data = res.data.data;
data.forEach(item => {
this.strArr.push(item.TravelTypeName);
});
let contShop =
res.data.data[0].TotalMoney +
res.data.data[1].TotalMoney +
res.data.data[2].TotalMoney +
res.data.data[3].TotalMoney +
res.data.data[4].TotalMoney,
one = res.data.data[0].TotalMoney,
two = res.data.data[1].TotalMoney,
three = res.data.data[2].TotalMoney,
four= res.data.data[3].TotalMoney,
five= res.data.data[4].TotalMoney,
contNum = res.data.data[0].TravelCount + res.data.data[1].TravelCount+ res.data.data[2].TravelCount+ res.data.data[3].TravelCount+ res.data.data[4].TravelCount,
four = res.data.data[3].TotalMoney,
five = res.data.data[4].TotalMoney,
contNum =
res.data.data[0].TravelCount +
res.data.data[1].TravelCount +
res.data.data[2].TravelCount +
res.data.data[3].TravelCount +
res.data.data[4].TravelCount,
oneN = res.data.data[0].TravelCount,
twoN = res.data.data[1].TravelCount,
threeN = res.data.data[2].TravelCount,
fourN = res.data.data[3].TravelCount,
fiveN = res.data.data[4].TravelCount;
let chartData = [], shopChartData = [];
if(contNum==0){
chartData=[0,0,0,0,0];
}else{
chartData.push(
((oneN/contNum)*100).toFixed(2)
)
chartData.push(
((twoN/contNum)*100).toFixed(2)
)
chartData.push(
((threeN/contNum)*100).toFixed(2)
)
chartData.push(
((fourN/contNum)*100).toFixed(2)
)
chartData.push(
((fiveN/contNum)*100).toFixed(2)
)
let chartData = [],
shopChartData = [];
if (contNum == 0) {
chartData = [0, 0, 0, 0, 0];
} else {
chartData.push(((oneN / contNum) * 100).toFixed(2));
chartData.push(((twoN / contNum) * 100).toFixed(2));
chartData.push(((threeN / contNum) * 100).toFixed(2));
chartData.push(((fourN / contNum) * 100).toFixed(2));
chartData.push(((fiveN / contNum) * 100).toFixed(2));
}
if(contShop==0){
let colorArr=['#0D2481','#FFA475','#99BD7B','#D2C9F1','#6EBCE2'];
let strArr=this.strArr;
for(let i=0;i<5;i++){
shopChartData.push(
{
if (contShop == 0) {
let colorArr = [
"#0D2481",
"#FFA475",
"#99BD7B",
"#D2C9F1",
"#6EBCE2"
];
let strArr = this.strArr;
for (let i = 0; i < 5; i++) {
shopChartData.push({
num: 0,
color: colorArr[i],
text: strArr[i]
});
}
)
}
}else{
shopChartData.push(
{
num: Number(((one/contShop)*100).toFixed(2)),
} else {
shopChartData.push({
num: Number(((one / contShop) * 100).toFixed(2)),
color: "#0D2481",
text: '亲子'
}
)
shopChartData.push(
{
num: Number(((two/contShop)*100).toFixed(2)),
text: "亲子"
});
shopChartData.push({
num: Number(((two / contShop) * 100).toFixed(2)),
color: "#FFA475",
text: '蜜月'
}
)
shopChartData.push(
{
num: Number(((three/contShop)*100).toFixed(2)),
text: "蜜月"
});
shopChartData.push({
num: Number(((three / contShop) * 100).toFixed(2)),
color: "#99BD7B",
text: '夕阳红'
}
)
shopChartData.push(
{
num: Number(((four/contShop)*100).toFixed(2)),
text: "夕阳红"
});
shopChartData.push({
num: Number(((four / contShop) * 100).toFixed(2)),
color: "#D2C9F1",
text: '暑假'
}
)
shopChartData.push(
{
num: Number(((five/contShop)*100).toFixed(2)),
text: "暑假"
});
shopChartData.push({
num: Number(((five / contShop) * 100).toFixed(2)),
color: "#6EBCE2",
text: '寒假'
}
)
text: "寒假"
});
}
this.chartData = chartData
console.log("this.chartData",this.chartData)
this.shopChartData = shopChartData
this.orders=res.data.data;
this.chartData = chartData;
console.log("this.chartData", this.chartData);
this.shopChartData = shopChartData;
this.orders = res.data.data;
this.getOrders();
});
},
getOrders(){
getOrders() {
this.apipost("/api/Statistic/GetTravelTypeOrderList", {}, res => {
this.loading = false
this.loading = false;
// console.log("res",res);
res.data.data.forEach(x => {
this.orders[x.NewTravelType - 1].LtName = x.LtName;
......@@ -323,5 +375,5 @@ export default {
});
}
}
}
};
</script>
\ No newline at end of file
<style>
.sex{
.sex {
height: calc(100% - 25px);
}
.statistics-title {
......@@ -9,7 +9,7 @@
margin-bottom: 30px;
font-family: perfectFont;
}
.sex .conten-box{
.sex .conten-box {
display: flex;
flex-direction: column;
height: calc(100% - 62px);
......@@ -17,18 +17,18 @@
.sex .conten-box .el-card .el-card__header {
font-weight: normal !important;
}
.sex .conten-box .top{
.sex .conten-box .top {
flex: 1.2;
margin-bottom: 25px;
}
.sex .conten-box .bottom{
flex: .8;
.sex .conten-box .bottom {
flex: 0.8;
}
.sex .conten-box .left{
.sex .conten-box .left {
height: 100%;
}
.sex .conten-box .el-card.blue {
background: #0D2481!important;
background: #0d2481 !important;
color: #fff !important;
height: calc(100% - 2px);
}
......@@ -41,42 +41,67 @@
display: flex;
align-items: flex-end;
text-align: center;
padding: 20px 70px 10px 70px!important;
padding: 20px 70px 10px 70px !important;
justify-content: space-between;
font-size: 14px;
}
.sex .sjsm{
.sex .sjsm {
display: flex;
flex-direction: column;
}
.sex .sjsm>div:nth-child(1){
.sex .sjsm > div:nth-child(1) {
margin-bottom: 20px;
}
.sex .sjsm>div{
.sex .sjsm > div {
flex: 1;
background:rgba(244,245,249,1);
background: rgba(244, 245, 249, 1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px;
}
.sex .sjsm>div .left{
.sex .sjsm > div .left {
display: flex;
align-items: center;
}
.sex .sjsm>div .left img{
.sex .sjsm > div .left img {
padding-right: 10px;
}
.sex .sjsm>div .right{
.sex .sjsm > div .right {
text-align: right;
color: #888888;
font-size: 12px;
}
.sex .hight-font{
color: #0D2481 !important;
.sex .hight-font {
color: #0d2481 !important;
font-size: 14px;
}
.sex .situ {
/* width: 100%;*/
height: 100%;
}
.sex .situ .head {
height: 36px;
display: flex;
line-height: 36px;
margin: 10px 0;
/* border-bottom: 1px solid #EEE; */
}
.sex .situ .c {
font-size: 14px;
color: #333;
height: calc(100% - 20px);
overflow-y: auto;
}
.sex .situ .bot {
height: 20px;
line-height: 20px;
/* text-decoration: underline; */
cursor: pointer;
color: rgb(13, 36, 129);
font-size: 12px;
text-align: right;
}
</style>
<template>
<div class="sex" v-loading="loading">
......@@ -92,13 +117,13 @@
<el-col :span="10" class="img">
<div>
<div style="margin-bottom: 10px;">
<img src="../../assets/img/tongji/zc.png" alt="">
<img src="../../assets/img/tongji/zc.png" alt />
</div>
<p>单位</p>
</div>
</el-col>
<el-col :span="14" style="height: 100%;">
<sexChart :myData="chartData" :strArr="strArr"/>
<sexChart :myData="chartData" :strArr="strArr" />
</el-col>
</el-row>
</el-card>
......@@ -106,13 +131,16 @@
<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>
<span>
购物统计
<span class="font-size-12">(按平均计算)</span>
</span>
</div>
<shopChart :shopChartData="shopChartData"/>
<shopChart :shopChartData="shopChartData" />
</el-card>
</el-col>
</el-row>
<el-row :gutter="25" class="bottom" >
<el-row :gutter="25" class="bottom">
<el-col :span="16" style="height: 100%;">
<el-card style="height: 100%;">
<div slot="header" class="clearfix">
......@@ -121,18 +149,26 @@
<div style="height: 198px;overflow: auto;" class="sjsm">
<div v-for="(item, index) in orders" :key="index">
<div class="left">
<img v-if="index==0" src="../../assets/img/tongji/qinzhi.png" alt="">
<img v-else-if="index==1" src="../../assets/img/tongji/miyue.png" alt="">
<img v-else-if="index==2" src="../../assets/img/tongji/in3.png" alt="">
<img v-else-if="index==3" src="../../assets/img/tongji/d1.png" alt="">
<img v-else-if="index==4" src="../../assets/img/tongji/hanjia.png" alt="">
<img v-else src="../../assets/img/tongji/qinzhi.png" alt="">
<img v-if="index==0" src="../../assets/img/tongji/qinzhi.png" alt />
<img v-else-if="index==1" src="../../assets/img/tongji/miyue.png" alt />
<img v-else-if="index==2" src="../../assets/img/tongji/in3.png" alt />
<img v-else-if="index==3" src="../../assets/img/tongji/d1.png" alt />
<img v-else-if="index==4" src="../../assets/img/tongji/hanjia.png" alt />
<img v-else src="../../assets/img/tongji/qinzhi.png" alt />
<span class="font-size-12">{{item.UnitTypeName}}</span>
</div>
<div class="right">
<p>累计报名<span class="hight-font">{{item.OrderCount}}</span>人,关联购物金额<span class="hight-font">{{item.ShopMoney}}</span>万,报名均价为<span class="hight-font">{{item.Unit_Price}}</span></p>
<p>最喜爱产品<span class="hight-font">{{item.LtName}}</span></p>
<p>
累计报名
<span class="hight-font">{{item.OrderCount}}</span>人,报名均价为
<span class="hight-font">{{item.Unit_Price}}</span>
</p>
<!-- 关联购物金额<span class="hight-font">{{item.ShopMoney}}</span>万, -->
<p>
最喜爱产品
<span class="hight-font">{{item.LtName}}</span>
</p>
</div>
</div>
</div>
......@@ -142,37 +178,33 @@
<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" size="30">推荐解答</el-col>
<!-- <el-col :span="12" class="right-title">
<i class="iconfont icondianzan1"></i> 点赞
</el-col> -->
</el-col>-->
</el-row>
</div>
<div class="situ">
<div class="c">根据对单位的统计可以,更好的了解不同单位客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等</div>
<div class="c">{{topOne && topOne.Content ? topOne.Content : '暂无'}}</div>
<div class="bot" @click="drawer = true">
查看更多,参与讨论(1)
<i class="el-icon-d-arrow-right"></i>
{{BbsList.length ? '查看更多,参与讨论('+ BbsList.length +')' : '暂时还没有讨论,快来发起讨论吧~'}}
<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 size="695px" :visible.sync="drawer" direction="rtl" :with-header="false">
<discussBox :type="discussID" />
</el-drawer>
</div>
</template>
<script>
import sexChart from './model/sexChart'
import shopChart from './model/shopChart'
import sexChart from "./model/sexChart";
import shopChart from "./model/shopChart";
import discussBox from "./model/discussBox";
export default {
components: {
......@@ -182,104 +214,114 @@ export default {
},
data() {
return {
discussID: 0,
drawer: false,
chartData: [0, 0],
shopChartData: [],
SexOrder: [],
loading: false,
strArr: ['世界500强', '事业单位', '其他',"教育机构"],
orders:[]
strArr: ["世界500强", "事业单位", "其他", "教育机构"],
orders: [],
discussID: 18,
BbsList: [],
topOne: {}
};
},watch:{
},
watch: {},
mounted() {
this.GetSexOrderList()
this.GetSexOrderList();
this.GetBbsListByType();
},
methods: {
GetSexOrderList(){
this.loading = true
this.strArr=[];
GetBbsListByType() {
this.apipost(
"/api/Customer/GetBbsListByType",
{ t: this.discussID },
res => {
this.BbsList = res.data.data;
if (this.BbsList && this.BbsList.length > 0) {
this.topOne = this.BbsList[0];
this.BbsList.forEach(x => {
if (x.Likes > this.topOne.Likes) {
this.topOne = x;
}
});
}
}
);
},
GetSexOrderList() {
this.loading = true;
this.strArr = [];
this.apipost("/api/Statistic/GetUnitTypeOrderList", {}, res => {
// this.SexOrder = res.data.data
let data=res.data.data;
data.forEach(item=>{
this.strArr.push(item.UnitTypeName)
})
let data = res.data.data;
data.forEach(item => {
this.strArr.push(item.UnitTypeName);
});
this.loading = false
let contShop = res.data.data[0].ShopMoney + res.data.data[1].ShopMoney+ res.data.data[2].ShopMoney+ res.data.data[3].ShopMoney+ res.data.data[4].ShopMoney,
this.loading = false;
let contShop =
res.data.data[0].ShopMoney +
res.data.data[1].ShopMoney +
res.data.data[2].ShopMoney +
res.data.data[3].ShopMoney +
res.data.data[4].ShopMoney,
one = res.data.data[0].ShopMoney,
two = res.data.data[1].ShopMoney,
three = res.data.data[2].ShopMoney,
four = res.data.data[3].ShopMoney,
five = res.data.data[4].ShopMoney,
contNum = res.data.data[0].OrderCount + res.data.data[1].OrderCount+ res.data.data[2].OrderCount+ res.data.data[3].OrderCount+ res.data.data[4].OrderCount,
contNum =
res.data.data[0].OrderCount +
res.data.data[1].OrderCount +
res.data.data[2].OrderCount +
res.data.data[3].OrderCount +
res.data.data[4].OrderCount,
zaiN = res.data.data[0].OrderCount,
twoN = res.data.data[1].OrderCount,
threeN = res.data.data[2].OrderCount,
fourN = res.data.data[3].OrderCount,
fiveN = res.data.data[4].OrderCount;
let chartData = [], shopChartData = [];
chartData.push(
((zaiN/contNum)*100).toFixed(2)
)
chartData.push(
((twoN/contNum)*100).toFixed(2)
)
chartData.push(
((threeN/contNum)*100).toFixed(2)
)
chartData.push(
((fourN/contNum)*100).toFixed(2)
)
chartData.push(
((fiveN/contNum)*100).toFixed(2)
)
shopChartData.push(
{
num: Number(((one/contShop)*100).toFixed(2)),
let chartData = [],
shopChartData = [];
chartData.push(((zaiN / contNum) * 100).toFixed(2));
chartData.push(((twoN / contNum) * 100).toFixed(2));
chartData.push(((threeN / contNum) * 100).toFixed(2));
chartData.push(((fourN / contNum) * 100).toFixed(2));
chartData.push(((fiveN / contNum) * 100).toFixed(2));
shopChartData.push({
num: Number(((one / contShop) * 100).toFixed(2)),
color: "#0D2481",
text: '世界500强'
}
)
shopChartData.push(
{
num: Number(((two/contShop)*100).toFixed(2)),
text: "世界500强"
});
shopChartData.push({
num: Number(((two / contShop) * 100).toFixed(2)),
color: "#FFA475",
text: '事业单位'
}
)
shopChartData.push(
{
num: Number(((three/contShop)*100).toFixed(2)),
text: "事业单位"
});
shopChartData.push({
num: Number(((three / contShop) * 100).toFixed(2)),
color: "#999",
text: '其他'
}
)
shopChartData.push(
{
num: Number(((four/contShop)*100).toFixed(2)),
text: "其他"
});
shopChartData.push({
num: Number(((four / contShop) * 100).toFixed(2)),
color: "#6EBCE2",
text: '教育机构'
}
)
shopChartData.push(
{
num: Number(((five/contShop)*100).toFixed(2)),
text: "教育机构"
});
shopChartData.push({
num: Number(((five / contShop) * 100).toFixed(2)),
color: "#98BD7B",
text: '聚集'
}
)
this.chartData = chartData
this.shopChartData = shopChartData
this.orders=res.data.data;
text: "聚集"
});
this.chartData = chartData;
this.shopChartData = shopChartData;
this.orders = res.data.data;
// console.log("this.orders",this.orders)
});
},
}
}
}
};
</script>
\ No newline at end of file
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