Commit 13ea9508 authored by 华国豪's avatar 华国豪 🙄

Merge branch 'master' of http://gitlab.oytour.com/huaguohao/crm

parents 6ffebcc7 77764a1e
...@@ -30,7 +30,7 @@ export default { ...@@ -30,7 +30,7 @@ export default {
@import './assets/css/tablevoerride.css'; @import './assets/css/tablevoerride.css';
@import './assets/global/font.css'; @import './assets/global/font.css';
@import '//at.alicdn.com/t/font_1627123_j29h6a48r8m.css'; @import '//at.alicdn.com/t/font_1627123_98ft13ltmlv.css';
@import url('//at.alicdn.com/t/font_1627123_grz80mbm3sv.css'); @import url('//at.alicdn.com/t/font_1627123_grz80mbm3sv.css');
/* @import './assets/css/common.css'; */ /* @import './assets/css/common.css'; */
@import './assets/css/init.css'; @import './assets/css/init.css';
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</div> --> </div> -->
<div class="rightmenu"> <div class="rightmenu">
<!-- <el-button class="crm-btn query-btn" @click="getList">查询</el-button> --> <!-- <el-button class="crm-btn query-btn" @click="getList">查询</el-button> -->
<el-button icon="el-icon-plus" class="crm-btn org-btn" @click="CustomerId = 0, dialogTableVisibleName = '新建直客', dialogTableVisible=true">发送生日祝福涵</el-button> <el-button icon="el-icon-present" class="crm-btn org-btn" @click="addSendMsg.isAll=true;addSendMsg.sendObj='所有客户',transferVisible=true">发送生日祝福涵</el-button>
<!-- <el-dropdown> <!-- <el-dropdown>
<el-button class="crm-btn crm-btn-more easy-btn margin-right0"> <el-button class="crm-btn crm-btn-more easy-btn margin-right0">
<i class="iconfont icongengduo"></i> <i class="iconfont icongengduo"></i>
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</div> </div>
<div class="query-box" :style="{'padding-bottom': sceneList.length > 0 ? '0px' : '10px'}"> <div class="query-box" :style="{'padding-bottom': sceneList.length > 0 ? '0px' : '10px'}">
<el-row v-if="!multipleSelection.length" :gutter="30"> <el-row v-if="!multipleSelection.length" :gutter="30">
<el-col :span="4"> <!-- <el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">场景</span> <span class="font-size-12" style="padding-right: 10px">场景</span>
<el-popover <el-popover
placement="bottom" placement="bottom"
...@@ -64,22 +64,27 @@ ...@@ -64,22 +64,27 @@
</el-option> </el-option>
</el-select> </el-select>
</el-popover> </el-popover>
</el-col> </el-col> -->
<el-col :span="4"> <!-- <el-col :span="10">
<span class="font-size-12" style="padding-right: 10px">客户类型</span> <span class="font-size-12" style="padding-right: 10px">距离生日天数</span>
<el-select size="mini" v-model="msg.CustomerType" placeholder="请选择" @change="getList"> <el-select size="mini" v-model="t" placeholder="请选择" @change="changeBirthday">
<el-option key="0" label="客户" :value="0"></el-option> <el-option label="今日生日" value="0"></el-option>
<el-option key="1" label="直客" :value="1"></el-option> <el-option label="明日生日" value="1"></el-option>
<el-option label="还有3天生日" value="2"></el-option>
<el-option label="还有4天生日" value="3"></el-option>
<el-option label="还有5天生日" value="4"></el-option>
<el-option label="还有6天生日" value="5"></el-option>
<el-option label="还有7天生日" value="6"></el-option>
</el-select> </el-select>
</el-col> </el-col> -->
<el-col :span="4"> <!-- <el-col :span="4">
<el-button icon="iconfont iconshaixuan" class="crm-btn query-btn crm-btn-mini margin-right0" @click="MsgBus.$emit('sceneBoxShow', 5)">高级筛选</el-button> <el-button icon="iconfont iconshaixuan" class="crm-btn query-btn crm-btn-mini margin-right0" @click="MsgBus.$emit('sceneBoxShow', 5)">高级筛选</el-button>
</el-col> </el-col> -->
</el-row> </el-row>
<div v-else class="flex-center"> <div v-else class="flex-center">
<p class="font-size-12">已选 <span class="font-color-link">{{multipleSelection.length}}</span></p> <p class="font-size-12">已选 <span class="font-color-link">{{multipleSelection.length}}</span></p>
<div class="selection-box"> <div class="selection-box">
<el-button v-for="(item, index) in selectionList" :key="index" @click="item.myFun"><i :class="item.class"></i>{{item.name}}</el-button> <el-button @click="transferVisible=true"><i class="el-icon-present"></i>发送祝福</el-button>
</div> </div>
</div> </div>
<div class="scene-wrapper" v-if="sceneList.length > 0"> <div class="scene-wrapper" v-if="sceneList.length > 0">
...@@ -262,29 +267,44 @@ ...@@ -262,29 +267,44 @@
</div> --> </div> -->
<el-dialog :visible.sync="transferVisible" :close-on-click-modal="false" width="450px" custom-class="transfer-box add-box add-box2"> <el-dialog :visible.sync="transferVisible" :close-on-click-modal="false" width="450px" custom-class="transfer-box add-box add-box2">
<div class="add-tit" slot="title"> <div class="add-tit" slot="title">
<p><span></span>客户转移</p> <p><span></span>发送生日祝福涵</p>
<span icon="el-icon-close"></span> <span icon="el-icon-close"></span>
</div> </div>
<el-form :model="transferMsg" ref="form" class="MyEditForm" > <el-form :model="transferMsg" ref="form" class="MyEditForm" >
<div class="MyEditForm-item"> <div class="MyEditForm-item">
<el-form-item label="变更负责人为" class="label-pad-left"> <el-form-item label="计划标题" class="label-pad-left">
<el-select <el-input v-model="addSendMsg.title" placeholder="请输入计划标题,如果不填系统将自动生成"></el-input>
filterable </el-form-item>
v-model="transferMsg.EmpId" placeholder="请选择"> </div>
<el-option <div class="MyEditForm-item">
v-for="item in EmployeeList" <el-form-item label="发送方式" class="label-pad-left">
:label='item.EmName' <el-select v-model="addSendMsg.sendType" placeholder="请选择">
:value='item.EmployeeId' <el-option label='同业助手' value='0'></el-option>
:key='item.EmployeeId'> <el-option label='短信' value='1'></el-option>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</div> </div>
<div class="MyEditForm-item">
<el-form-item label="接收人员" class="label-pad-left">
<el-input readonly="true" v-model="addSendMsg.sendObj"></el-input>
<div style="font-size:12px;color:red;margin-left: 10px; margin-top: 2px;">消息将发送给关联的同行,由同行转发给客人,暂不支持直接转发</div>
</el-form-item>
</div>
<div class="MyEditForm-item">
<el-form-item label="发送时间" class="label-pad-left">
<el-date-picker
type="datetime"
v-model="addSendMsg.sendTime"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
</div>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" class="add-box-btn" @click="transfer(2)">确 定</el-button> <el-button type="primary" class="add-box-btn" @click="transfer(2)">确 定</el-button>
<el-button class="add-box-btn add-box-cancel" @click="transferVisible = false">取 消</el-button> <el-button class="add-box-btn add-box-cancel" @click="transferVisible = false">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
...@@ -399,10 +419,7 @@ export default { ...@@ -399,10 +419,7 @@ export default {
EmployeeList: [], EmployeeList: [],
value: '', value: '',
userInfo: {}, userInfo: {},
transferMsg: {
IDs: [],
EmpId: '',
},
msg: { msg: {
GusetName: '', GusetName: '',
pageIndex: 1, pageIndex: 1,
...@@ -413,43 +430,24 @@ export default { ...@@ -413,43 +430,24 @@ export default {
ID: 36 ID: 36
}, },
total: 0, total: 0,
WhereTypeList: [
{
id: -1,
name: '全部'
},{
id: 1,
name: '我负责的'
},{
id: 2,
name: '下属的'
},{
id: 3,
name: '我关注的'
},
],
selectionList: [
{
name: '转移',
class:'iconfont iconplus-transfer',
myFun: this.transfer
},{
name: '删除',
class:'iconfont icondelete',
myFun: this.delete
},
],
sceneList: [], sceneList: [],
SceneEmployeeList: [], SceneEmployeeList: [],
sceneID: 36, sceneID: 36,
visible: false, visible: false,
addSendMsg:{
title:"",
sendType:"0",
sendObj:"",
sendTime:"",
isAll:false,
}
}; };
}, },
mounted() { mounted() {
this.userInfo = this.getLocalStorage(); this.userInfo = this.getLocalStorage();
console.log(this.queryType) console.log(this.queryType)
this.getList() this.getList()
this.Employee() //this.Employee()
let $this = this let $this = this
this.MsgBus.$on('closeCustomerDialogBox', function (){ this.MsgBus.$on('closeCustomerDialogBox', function (){
$this.dialogTableVisible = false $this.dialogTableVisible = false
...@@ -474,6 +472,9 @@ export default { ...@@ -474,6 +472,9 @@ export default {
this.MsgBus.$off('editScene'); this.MsgBus.$off('editScene');
}, },
methods: { methods: {
sendPresent(){
},
changeWhere(item){ changeWhere(item){
this.msg.ID = item.ID this.msg.ID = item.ID
this.sceneID = item.ID this.sceneID = item.ID
...@@ -498,34 +499,6 @@ export default { ...@@ -498,34 +499,6 @@ export default {
this.msg.Data = obj this.msg.Data = obj
this.getList() this.getList()
}, },
getMarriageStr(type){
if (type === 5) return '其他'
if (type === 4) return '丧偶'
if (type === 3) return '未婚'
if (type === 2) return '离婚'
if (type === 1) return '已婚'
if (type === 0) return '无'
},
Employee(){
let msg = {
RB_Group_id: this.userInfo.RB_Group_id,
BranchId:-1,
DepartmentId:0,
PostId:0,
IsLeave:0,
}
this.apipost2(
"admin_get_EmployeeGetList",
this.msg,
res => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
} else {
}
},
err => {}
);
},
//锁定 //锁定
locking(){ locking(){
...@@ -633,9 +606,13 @@ export default { ...@@ -633,9 +606,13 @@ export default {
}) })
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val.map(x=> this.multipleSelection = val
x.ID this.addSendMsg.isAll=false
) if(val && val.length>0){
this.addSendMsg.sendObj=val.length==1?val[0].GuestName:val[0].GuestName+"等"+val.length+"人"
}else{
this.addSendMsg.sendObj=""
}
} }
} }
}; };
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.sex .sjsm>div:nth-child(1){ .sex .sjsm>div{
margin-bottom: 20px; margin-bottom: 20px;
} }
.sex .sjsm>div{ .sex .sjsm>div{
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
} }
.Opinionpolls .countryUl li{ .Opinionpolls .countryUl li{
position: relative; position: relative;
padding: 20px 0; padding: 30px 0;
border-bottom: 1px solid #E2E4EF; border-bottom: 1px solid #E2E4EF;
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
.Opinionpolls .countryUl li .rightSpan{ .Opinionpolls .countryUl li .rightSpan{
position: absolute; position: absolute;
right: 0; right: 0;
bottom: 20px; bottom: 32px;
} }
.Opinionpolls .countryUl li img{ .Opinionpolls .countryUl li img{
...@@ -102,6 +102,10 @@ ...@@ -102,6 +102,10 @@
border-radius:6px; border-radius:6px;
} }
.Opinionpolls .index{
font-weight: bold;
margin-right:20px;
}
.Opinionpolls .countryUl li:nth-child(1) .index{ .Opinionpolls .countryUl li:nth-child(1) .index{
color:#FFA475 color:#FFA475
} }
...@@ -120,15 +124,15 @@ ...@@ -120,15 +124,15 @@
} }
.timeChart{ .timeChart{
width: 100%; width: 100%;
height: 300px; height: 386px;
} }
</style> </style>
<template> <template>
<div class="sex Opinionpolls" v-loading="loading"> <div class="sex Opinionpolls" v-loading="loading">
<div class="statistics-title bold18">季节统计</div> <div class="statistics-title bold18">意见调查统计</div>
<div class="conten-box" v-if="!loading"> <div class="conten-box">
<el-row :gutter="25" class="top"> <el-row :gutter="25" class="top">
<el-col :span="6" style="height: 100%;"> <el-col :span="6" style="height: 450px">
<el-card style="height: calc(100% - 2px);background:#FFA475"> <el-card style="height: calc(100% - 2px);background:#FFA475">
<p style="color:#FDFEFE;margin-top:15px;font-size:14px" >意见调查总和</p> <p style="color:#FDFEFE;margin-top:15px;font-size:14px" >意见调查总和</p>
<div> <div>
...@@ -140,10 +144,11 @@ ...@@ -140,10 +144,11 @@
<el-col :span="18" class="left"> <el-col :span="18" class="left">
<el-card> <el-card>
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>季节统计</span> <span>景点评分(前10名)</span>
</div> </div>
<el-row :gutter="80" style="height: 100%;"> <el-row :gutter="80" style="height: 100%;">
<sexChart :myData="chartData" :strArr="strArr"/> <!-- <sexChart v-if="isShowTop" style="height:350px;" :myData="chartData" :strArr="strArr"/> -->
<div id="tenTopchart" style="height:350px;" class="tenTopchart" ref="tenTopchart"></div>
</el-row> </el-row>
</el-card> </el-card>
</el-col> </el-col>
...@@ -155,7 +160,7 @@ ...@@ -155,7 +160,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>首选印象产品</span> <span>首选印象产品</span>
</div> </div>
<shopChart :shopChartData="shopChartData"/> <shopChart v-if="isShowTop" :shopChartData="shopChartData"/>
</el-card> </el-card>
</el-col> </el-col>
<el-col :span="7"> <el-col :span="7">
...@@ -170,32 +175,14 @@ ...@@ -170,32 +175,14 @@
<el-col :span="8" style="height: 100%;"> <el-col :span="8" style="height: 100%;">
<el-card style="height: calc(100% - 2px);"> <el-card style="height: calc(100% - 2px);">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>下次出行首选国家</span> <span>国家/目的地</span>
</div> </div>
<ul class="countryUl"> <ul class="countryUl">
<li> <li v-for="(item,index) in dataList.countryList" :key="index">
<span class="index" style="font-size:14px">NO.1</span> <span class="index" style="font-size:14px">NO.{{index+1}}</span>
<img style="margin:0 15px" src="../../assets/img/tongji/cj.png" alt=""> <!-- <img style="margin:0 15px" src="../../assets/img/tongji/cj.png" alt=""> -->
<span style="font-size:18px;">日本</span> <span style="font-size:18px;">{{item.ItemName}}</span>
<span class="rightSpan">16520<span class="font-size-12"></span> </span> <span class="rightSpan">{{item.OrderCount}}<span class="font-size-12"></span> </span>
</li>
<li>
<span class="index" style="font-size:14px">NO.1</span>
<img style="margin:0 15px" src="../../assets/img/tongji/cj.png" alt="">
<span style="font-size:18px;">日本</span>
<span class="rightSpan">16520<span class="font-size-12"></span> </span>
</li>
<li>
<span class="index" style="font-size:14px">NO.1</span>
<img style="margin:0 15px" src="../../assets/img/tongji/cj.png" alt="">
<span style="font-size:18px;">日本</span>
<span class="rightSpan">16520<span class="font-size-12"></span> </span>
</li>
<li>
<span class="index" style="font-size:14px">NO.1</span>
<img style="margin:0 15px" src="../../assets/img/tongji/cj.png" alt="">
<span style="font-size:18px;">日本</span>
<span class="rightSpan">16520<span class="font-size-12"></span> </span>
</li> </li>
</ul> </ul>
</el-card> </el-card>
...@@ -209,7 +196,7 @@ ...@@ -209,7 +196,7 @@
<span>数据说明</span> <span>数据说明</span>
</div> </div>
<div style="height: 100%;" class="sjsm"> <div style="height: 100%;" class="sjsm">
<div v-for="(item, index) in orders" :key="index"> <div v-for="(item, index) in dataList.GuestSurveyShopList" :key="index">
<div class="left"> <div class="left">
<img v-if="item.SeasonType === 1" src="../../assets/img/tongji/cj.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 === 2" src="../../assets/img/tongji/xj.png" alt="">
...@@ -218,7 +205,7 @@ ...@@ -218,7 +205,7 @@
<span class="font-size-12">{{item.SeasonTypeName}}</span> <span class="font-size-12">{{item.SeasonTypeName}}</span>
</div> </div>
<div class="right"> <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.SeasonCount}}</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.LtName}}</span></p>
</div> </div>
</div> </div>
...@@ -238,7 +225,7 @@ ...@@ -238,7 +225,7 @@
</el-row> </el-row>
</div> </div>
<div class="situ"> <div class="situ">
<div class="c">根据对客户季节的统计可以,更好的了解不同季节客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等</div> <div class="c">根据对客户意见调查的统计可以,更好的了解客人的喜好,消费能力的判读,从而快速的推荐团队给客人</div>
<div class="bot" @click="drawer = true"> <div class="bot" @click="drawer = true">
查看更多,参与讨论(1) 查看更多,参与讨论(1)
<i class="el-icon-d-arrow-right"></i> <i class="el-icon-d-arrow-right"></i>
...@@ -271,26 +258,29 @@ export default { ...@@ -271,26 +258,29 @@ export default {
return { return {
discussID: 0, discussID: 0,
drawer: false, drawer: false,
chartData: [1,2,3,4], chartData: [],
shopChartData: [], shopChartData: [],
SexOrder: [], SexOrder: [],
loading: false, loading: false,
strArr: ['春季', '夏季', '秋季', '冬季'], strArr: [],
orders:[] orders:[],
dataList:{},
isShowTop:false,
//出游日期
chuyouDate:[],
chuyouList:[],
}; };
},watch:{ },watch:{
}, },
mounted() { mounted() {
// this.GetSexOrderList() this.getData();
this.initTimeChart();
}, },
methods: { methods: {
initTimeChart(){ initTimeChart(){
// let myChart = this.$echarts.init(this.$refs.timeChart);
var myChart = this.$echarts.init(document.getElementById('timeChart')); var myChart = this.$echarts.init(document.getElementById('timeChart'));
console.log("myChart",myChart)
var option={ var option={
xAxis: { xAxis: {
axisTick: { axisTick: {
...@@ -300,100 +290,141 @@ export default { ...@@ -300,100 +290,141 @@ export default {
show: false show: false
}, },
type: 'category', type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] data: this.chuyouDate
}, },
yAxis: { yAxis: {
show : false, show : false,
type: 'value' type: 'value'
}, },
series: [{ series: [{
data: [120, 200, 150, 80, 70, 110, 130], data: this.chuyouList,
type: 'bar', type: 'bar',
showBackground: true, showBackground: true,
backgroundStyle: { backgroundStyle: {
color: 'rgba(220, 220, 220, 0.8)' color: 'rgba(220, 220, 220, 0.8)'
}, },
barWidth: '20',
itemStyle: { itemStyle: {
color: '#0D2481' color: '#0D2481'
} }
}] }]
}; };
console.log("option",option)
myChart.setOption(option); myChart.setOption(option);
}, },
GetSexOrderList(){ //初始化top10插件
initTopTen(){
let myChart = this.$echarts.init(document.getElementById('tenTopchart'));
let option = {
grid: {
left: '75',
right: '75'
},
xAxis: {
data: this.strArr,
type: 'category',
axisLabel: {
color: '#999999'
},
axisLine: {
show: false
},
},
yAxis: {
type: 'value',
axisLine: {
show: false
},
axisLabel: {
color: '#999999',
formatter: '{value} %'
},
max: 100,
},
series: [{
data: this.chartData,
type: 'bar',
itemStyle: {
color: '#FFA475',
},
barWidth: '44'
}]
};
myChart.setOption(option);
},
getData(){
this.loading = true this.loading = true
this.apipost("/api/Statistic/GetSeasonShopList", {}, res => { this.apipost("/api/Statistic/GetGuestSurveyList", {}, res => {
console.log("dsafsaf",res); this.loading=false;
let contShop = res.data.data[0].TotalMoney + res.data.data[1].TotalMoney+ res.data.data[2].TotalMoney+ res.data.data[3].TotalMoney, if(res.data.resultCode==1){
one = res.data.data[0].TotalMoney, this.dataList=res.data.data;
two = res.data.data[1].TotalMoney, this.chartData=[];
three = res.data.data[2].TotalMoney, this.strArr=[];
four= res.data.data[3].TotalMoney, var totalTenCount=0;
contNum = res.data.data[0].SeasonCount + res.data.data[1].SeasonCount+ res.data.data[2].SeasonCount+ res.data.data[3].SeasonCount, var totalChuyou=0;
oneN = res.data.data[0].SeasonCount, this.dataList.TopTenScenicList.forEach((x,index) => {
twoN = res.data.data[1].SeasonCount, this.strArr.push('TOP'+(index+1));
threeN = res.data.data[2].SeasonCount, totalTenCount+=x.OrderCount;
fourN = res.data.data[3].SeasonCount; });
let chartData = [], shopChartData = []; this.dataList.TopTenScenicList.forEach((x,index) => {
chartData.push( this.chartData.push();
((oneN/contNum)*100).toFixed(2) this.chartData.push(parseFloat(((x.OrderCount/totalTenCount)*100).toFixed(2)));
) });
chartData.push( //获取总的出游首选
((twoN/contNum)*100).toFixed(2) this.dataList.souXuanList.forEach(x=>{
) totalChuyou+=x.OrderCount;
chartData.push( })
((threeN/contNum)*100).toFixed(2) var hefeng = this.dataList.souXuanList[0].OrderCount
) var xierdunSj = this.dataList.souXuanList[1].OrderCount
chartData.push( var dantuan = this.dataList.souXuanList[2].OrderCount
((fourN/contNum)*100).toFixed(2) var xierdun = this.dataList.souXuanList[3].OrderCount
) //和风畅享系列
shopChartData.push( this.shopChartData.push(
{ {
num: Number(((one/contShop)*100).toFixed(2)), num: Number(((hefeng/totalChuyou)*100).toFixed(0)),
color: "#0D2481", color: "#0D2481",
text: '春季' text: '和风畅享系列'
} }
) )
shopChartData.push( this.shopChartData.push(
{ {
num: Number(((two/contShop)*100).toFixed(2)), num: Number(((xierdunSj/totalChuyou)*100).toFixed(0)),
color: "#FFA475", color: "#FFA97C",
text: '夏季' text: '希尔顿假期<升级版>'
} }
) )
shopChartData.push( this.shopChartData.push(
{ {
num: Number(((three/contShop)*100).toFixed(2)), num: Number(((dantuan/totalChuyou)*100).toFixed(0)),
color: "#99BD7B", color: "#99BD7B",
text: '秋季' text: '单团小团系列(本州大阪.东京)'
} }
) )
shopChartData.push( this.shopChartData.push(
{ {
num: Number(((four/contShop)*100).toFixed(2)), num: Number(((xierdun/totalChuyou)*100).toFixed(0)),
color: "#D2C9F1", color: "#D2C9F1",
text: '冬季' text: '希尔顿假期系列'
} }
) )
this.chartData = chartData
this.shopChartData = shopChartData
this.orders=res.data.data;
this.getOrders() //遍历出游计划
this.chuyouDate=[];
this.chuyouList=[];
this.dataList.chuyouList.forEach(x=>{
this.chuyouDate.push(x.ItemName);
this.chuyouList.push(x.OrderCount);
})
this.isShowTop=true;
this.initTimeChart();
this.initTopTen();
}else{
this.$message.error(res.data.message);
}
}); });
}, },
getOrders(){
this.apipost("/api/Statistic/GetSeasonOrderList", {}, 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
});
}
} }
} }
</script> </script>
\ No newline at end of file
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.sex .sjsm>div:nth-child(1){ .sex .sjsm>div{
margin-bottom: 20px; margin-bottom: 20px;
} }
.sex .sjsm>div{ .sex .sjsm>div{
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.sex .sjsm>div:nth-child(1){ .sex .sjsm>div{
margin-bottom: 20px; margin-bottom: 20px;
} }
.sex .sjsm>div{ .sex .sjsm>div{
......
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
<template> <template>
<div class="marriage" v-loading="loading"> <div class="marriage" v-loading="loading">
<div class="statistics-title bold18">婚姻统计</div> <div class="statistics-title bold18">婚姻统计</div>
<div class="conten-box" v-if="!loading"> <div class="conten-box">
<el-row :gutter="25" class="top"> <el-row :gutter="25" class="top">
<el-col :span="12" class="left"> <el-col :span="12" class="left">
<el-card class="blue"> <el-card class="blue">
...@@ -187,7 +187,7 @@ export default { ...@@ -187,7 +187,7 @@ export default {
BbsList: [], BbsList: [],
isShow:false, isShow:false,
orders:[], orders:[],
dataList:[] dataList:[],
}; };
},watch:{ },watch:{
...@@ -197,7 +197,9 @@ export default { ...@@ -197,7 +197,9 @@ export default {
}, },
methods: { methods: {
initData() { initData() {
this.loading=true;
this.apipost("/api/Statistic/GetMarriageShopList", {}, res => { this.apipost("/api/Statistic/GetMarriageShopList", {}, res => {
this.loading=false;
if(res.data.resultCode==1){ if(res.data.resultCode==1){
this.strArr=[]; this.strArr=[];
let data=res.data.data; let data=res.data.data;
......
<template> <template>
<div class="old-box"> <div class="old-box" v-loading="loading">
<div class="statistics-title bold18">客户年龄分布统计</div> <div class="statistics-title bold18">客户年龄分布统计</div>
<el-row :gutter="25" style="height:calc(100% - 62px)"> <el-row :gutter="25" style="height:calc(100% - 62px)">
<el-col :span="12" style="height:100%;"> <el-col :span="12" style="height:100%;">
...@@ -132,6 +132,7 @@ export default { ...@@ -132,6 +132,7 @@ export default {
showChats: [], showChats: [],
moneys: [], moneys: [],
isLoaded: false, isLoaded: false,
loading:false,
icons: [ icons: [
"icon-yinger", "icon-yinger",
"icon-ertong", "icon-ertong",
...@@ -164,7 +165,9 @@ export default { ...@@ -164,7 +165,9 @@ export default {
}); });
}, },
init() { init() {
this.loading=true;
this.apipost("/api/Statistic/GetAgeShopList", {}, res => { this.apipost("/api/Statistic/GetAgeShopList", {}, res => {
this.loading=false;
res.data.data.forEach(x => { res.data.data.forEach(x => {
this.scaleData.push({ this.scaleData.push({
name: x.AgeTypeName, name: x.AgeTypeName,
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.sex .sjsm>div:nth-child(1){ .sex .sjsm>div{
margin-bottom: 20px; margin-bottom: 20px;
} }
.sex .sjsm>div{ .sex .sjsm>div{
......
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