Selaa lähdekoodia

提交修改

newStyle
douzhuo 2 vuotta sitten
vanhempi
commit
14f0d12eb6
3 muutettua tiedostoa jossa 231 lisäystä ja 118 poistoa
  1. +202
    -5
      src/views/Statistics/ConsultantBrand.vue
  2. +28
    -110
      src/views/Statistics/TheTeamCompared.vue
  3. +1
    -3
      vue.config.js

+ 202
- 5
src/views/Statistics/ConsultantBrand.vue Näytä tiedosto

@@ -106,6 +106,15 @@
>
<template slot-scope="{ row }"> {{ row.activeCustomer }}次 </template>
</el-table-column>
<el-table-column
prop="activeCustomer"
label="未标顾问"
align="center"
sortable
>
<template slot-scope="{ row }"> {{ row.unTagCustomer }}个 </template>
</el-table-column>
<el-table-column
v-if="tabFlag == 1"
prop="prohibitedCustomer"
@@ -327,9 +336,9 @@
<div class="jinbox" v-for="(item, i) in echarlist1" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
'background': topThreeColor(i),
'color': i < 3 ? '#FFF' : '#333',
'box-shadow': i < 3 ? '0px 0px 6px 1px' + topThreeColor(i) : '0px 0px 6px 1px' + '#E5F0FF',
}">{{ i + 1 }}</span>
<div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
@@ -341,7 +350,7 @@
class="boxbaifenbi"
:style="'width:' + item.zxl + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl + '%' }"> </div>
<div class="boxbaifenbi" :style="{ 'background': topThreeColor(i), 'width': item.zxl + '%' }"> </div>
</div>
<div class="jinboxbott">{{ item.zxl }}%</div>
@@ -431,6 +440,151 @@
</div>
</div>
</div>


<!-- 接待未标顾问排名(TOP10) -->
<div class="app-box-san">
<div class="zuo">
<div class="title">
<div class="text1">接待未标顾问排名(TOP10)</div>
<div class="text2">
<el-select
style="width: 90%; margin: 0 auto"
v-model="teamAllLevelsId"
placeholder="请选择"
>
<el-option
v-for="item in teamAllLevels"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</div>
</div>
<div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="text1-1">未标记合计</div>
<div class="text1-2">{{ num5 }}个</div>
</div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="text1-1">均值</div>
<div class="text1-2">{{ avg5 }}个</div>
</div>
</div>
<div
v-if="echarlist1.length != 0"
style="min-height: 258px; width: 94%; margin: 0 auto;padding: 0 0 20px 0;"
>
<div class="jinbox" v-for="(item, i) in echarlist4" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': topThreeColor(i),
'color': i < 3 ? '#FFF' : '#333',
'box-shadow': i < 3 ? '0px 0px 6px 1px' + topThreeColor(i) : '0px 0px 6px 1px' + '#E5F0FF',
}">{{ i + 1 }}</span>
<div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<span class="name">{{ item.name }}</span>
</el-tooltip>
</div>
<div class="jinbox-box">
<!-- <div
class="boxbaifenbi"
:style="'width:' + item.zxl + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': topThreeColor(i), 'width': item.zxl1 + '%' }"> </div>
</div>
<div class="jinboxbott">{{ item.zxl }}个</div>
</div>
</div>
<div
class="nulllist"
style="height: 250px"
v-if="echarlist4.length == 0"
>
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
</div>
</div>
</div>
<div class="you" style="opacity: 0;">
<div class="title">
<div class="text1">违禁接待次数排名(TOP10)</div>
<div class="text2">
<el-select
@change="teamAllLeve2tap()"
style="width: 90%; margin: 0 auto"
v-model="teamAllLeve2id"
placeholder="请选择"
>
<el-option
v-for="item in teamAllLeve2"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</div>
</div>
<div class="hejisan">
<div class="sanbox1" style="width: 35%;text-align: center;">
<div class="text1-1">违禁合计</div>
<div class="text1-2">{{ sum4 }}次</div>
</div>
<div class="sanbox1" style="width: 40%;text-align: center;">
<div class="text1-1">顾问人数</div>
<div class="text1-2">{{ num4 }}个</div>
</div>
<div class="sanbox1" style="width: 25%;text-align: center;">
<div class="text1-1">均值</div>
<div class="text1-2">{{ avg4 }}次</div>
</div>
</div>
<div
v-if="echarlist3.length != 0"
style="min-height: 258px; width: 94%; margin: 0 auto;padding: 0 0 20px 0;"
>
<div class="jinbox" v-for="(item, i) in echarlist3" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
<div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<span class="name">{{ item.name }}</span>
</el-tooltip>
</div>
<div class="jinbox-box">
<!-- <div
class="boxbaifenbi"
:style="'width:' + item.zxl1 + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }"> </div>
</div>
<div class="jinboxbott">{{ item.zxl }}次</div>
</div>
</div>
<div
class="nulllist"
style="height: 250px"
v-if="echarlist3.length == 0"
>
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
</div>
</div>
</div>
</div>

</div>
</template>

@@ -463,10 +617,14 @@ export default {
echarlist1: [],
echarlist2: [],
echarlist3: [],
echarlist4: [],
teamAllLevel: [],
teamAllLevels: [],
teamAllLevelid: "",
teamAllLeve2id: "",
teamAllLeve2: [],
teamAllLevels: [],
teamAllLevelsId: '',
sum1: "",
avg1: "",
num1: "",
@@ -482,6 +640,10 @@ export default {
sum4: "",
avg4: "",
num4: "",

sum5: "",
avg5: "",
num5: "",
houseList: [],
role: "",
};
@@ -504,6 +666,27 @@ export default {
}
},
methods: {
// 排名颜色
topThreeColor(index) {
let str = ''
switch (index) {
case 0:
str = '#F54D3F'
break
case 1:
str = '#FF981E'
break
case 2:
str = '#FFCC00'
break
default:
str = '#E5F0FF'
break
}

return str
},

downLoad() {
let obj = {
houseId: this.houseId,
@@ -542,12 +725,18 @@ export default {
this.sum4 = "";
this.avg4 = "";
this.num4 = "";

this.sum5 = "";
this.avg5 = "";
this.num5 = "";
this.tableData = [];
this.tabFlag = 0;
this.echarlist = [];
this.echarlist1 = [];
this.echarlist2 = [];
this.echarlist3 = [];
this.echarlist4 = [];
this.tabtimetap(4);
this.deptFindList();
this.teamAllLeve();
@@ -572,6 +761,7 @@ export default {
teamAllLeve() {
this.teamAllLevel = [{ name: "平均执行", value: "" }];
this.teamAllLeve2 = [{ name: "总次数", value: "" }];
this.teamAllLevels = [{name: '总次数', value: ''}]
let pamaet = {
houseId: this.houseId,
dateType: 0,
@@ -634,6 +824,7 @@ export default {
this.echarlist1 = await this.accountRankTOP10(3, this.teamAllLevelid, "");
this.echarlist2 = await this.accountRankTOP10(2);
this.echarlist3 = await this.accountRankTOP10(4, "", this.teamAllLeve2id);
this.echarlist4 = await this.accountRankTOP10(5, "", this.teamAllLeve2id);
},
// 获取图标
async accountRankTOP10(type, marketingId = "", words = "") {
@@ -672,6 +863,10 @@ export default {
obj.name = item.accountName;
obj.zxl = item.fraction;
arr.push(obj);
} else if(type == 5) {
obj.name = item.accountName;
obj.zxl = item.unTagCustomer;
arr.push(obj);
} else {
obj.name = item.accountName;
obj.zxl = item.prohibitedCustomer;
@@ -697,9 +892,11 @@ export default {
);
arr = this.dealData(arr);
}
if (type == 5) {
arr = this.dealData(arr);
}
return arr;
},

accountRank() {
this.$api.api
.accountRank({


+ 28
- 110
src/views/Statistics/TheTeamCompared.vue Näytä tiedosto

@@ -49,22 +49,6 @@
>
</el-date-picker>
</div>
<div style="margin-left: 26px;display: flex;">
<div class="label" style="margin-right:10px">咨询业务</div>
<el-select
v-model="business"
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in businessList"
:key="item.createUser"
:label="item.accountName"
:value="item.createUser"
>
</el-option>
</el-select>
</div>
<div
style="margin-left: auto; margin-right: 10px"
v-if="sta_team_downLoad"
@@ -120,14 +104,17 @@
<div class="zuo">
<div class="title">
<div class="text1">接待量排名
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
</div>
</div>
<div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj1.num || 0 }}个</div>
</div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">均值</div>
<div class="text1-2">{{ teamobj1.avg || 0 }}个</div>
</div>
@@ -137,24 +124,12 @@
style="width: 94%; margin: 0 auto"
>
<div class="jinbox" v-for="(item, i) in teamobj1.list" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
<div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<span class="name">{{ item.name }}</span>
</el-tooltip>
</div>
<div class="jinboxtit">{{ item.name }}</div>
<div class="jinbox-box">
<!-- <div
<div
class="boxbaifenbi"
:style="'width:' + item.zxl1 + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }"> </div>
></div>
</div>
<div class="jinboxbott">{{ item.zxl }}个</div>
</div>
@@ -174,11 +149,11 @@
<div class="text1">接待时长排名</div>
</div>
<div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj2.num || 0 }}个</div>
</div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">均值</div>
<div class="text1-2">
{{ Math.floor(teamobj2.avg / 60) || 0 }}分钟
@@ -190,25 +165,12 @@
style="width: 94%; margin: 0 auto"
>
<div class="jinbox" v-for="(item, i) in teamobj2.list" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
<div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<span class="name">{{ item.name }}</span>
</el-tooltip>
<!-- <span class="name">{{ item.name }}</span> -->
</div>
<div class="jinboxtit">{{ item.name }}</div>
<div class="jinbox-box">
<!-- <div
<div
class="boxbaifenbi"
:style="'width:' + item.zxl1 + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }"> </div>
></div>
</div>
<div class="jinboxbott">{{ item.zxl }}分钟</div>
</div>
@@ -247,11 +209,11 @@
</div>
</div>
<div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj3.num || 0 }}个</div>
</div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">均值</div>
<div class="text1-2">{{ teamobj3.avg || 0 }}%</div>
</div>
@@ -261,25 +223,12 @@
style="width: 94%; margin: 0 auto"
>
<div class="jinbox" v-for="(item, i) in teamobj3.list" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
<div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<span class="name">{{ item.name }}</span>
</el-tooltip>
<!-- <span class="name">{{ item.name }}</span> -->
</div>
<div class="jinboxtit">{{ item.name }}</div>
<div class="jinbox-box">
<!-- <div
<div
class="boxbaifenbi"
:style="'width:' + item.zxl + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl + '%' }"> </div>
></div>
</div>
<div class="jinboxbott">{{ item.zxl }}%</div>
</div>
@@ -316,6 +265,9 @@
<div class="zuo">
<div class="title">
<div class="text1">违禁接待次数
<el-tooltip effect="light" content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
</div>
<div class="text2">
<el-select
@@ -335,11 +287,11 @@
</div>
</div>
<div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj5.num || 0 }}个</div>
</div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">均值</div>
<div class="text1-2">{{ teamobj5.avg || 0 }}次</div>
</div>
@@ -349,25 +301,12 @@
style="width: 94%; margin: 0 auto"
>
<div class="jinbox" v-for="(item, i) in teamobj5.list" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
<div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<span class="name">{{ item.name }}</span>
</el-tooltip>
<!-- <span class="name">{{ item.name }}</span> -->
</div>
<div class="jinboxtit">{{ item.name }}</div>
<div class="jinbox-box">
<!-- <div
<div
class="boxbaifenbi"
:style="'width:' + item.zxl1 + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }"> </div>
></div>
</div>
<div class="jinboxbott">{{ item.zxl }}次</div>
</div>
@@ -399,6 +338,7 @@
</div>
</div>
</div>

</div>
</template>

@@ -416,8 +356,6 @@ export default {
statDateEnd: "",
tablsitdata1: [],
tablsitdata2: [],
business: "",
businessList: [],
teamobj1: {
avg: "",
list: [],
@@ -984,18 +922,6 @@ export default {
</script>

<style scoped="scoped" lang="scss" >

.sequenceNum {
display: flex;
width: 24px;
height: 24px;
justify-content: center;
align-items: center;
background: #E5F0FF;
border-radius: 15px;
color: #333333;
margin-right: 10px;
}
/* 添加table滚动条 */
table {
border-collapse: collapse;
@@ -1148,7 +1074,6 @@ tbody tr {
.text1-2 {
color: #333333;
margin-top: 10px;
font-weight: bold;
}
}

@@ -1198,14 +1123,7 @@ tbody tr {
font-size: 16px;
color: #32363d;
}
.label {
font-size: 14px;
font-weight: 400;
color: #32363d;
line-height: 32px;
margin-left: 15px;
min-width: 40px;
}

.nulllist {
flex: 1;
}


+ 1
- 3
vue.config.js Näytä tiedosto

@@ -2,10 +2,8 @@
* 配置参考:
* https://cli.vuejs.org/zh/config/
*/
// const url = 'http://pigx-gateway'
// const url = 'http://39.97.167.65:9999' //测试
// const url = 'http://192.168.31.167:9999' //长龙
// const url = 'http://192.168.31.134:9999' //嘉豪
// const url = 'http://192.168.31.211:9999' // 泽明
// const url = 'http://192.168.31.100:9999' //王笑
// const url = 'http://62.234.122.43:9999' //正式
// const url = 'http://81.70.55.170:9999' // 新测试服务器IP


Ladataan…
Peruuta
Tallenna