Browse Source

提交修改

newStyle
douzhuo 2 years ago
parent
commit
094d1cfa4b
5 changed files with 987 additions and 360 deletions
  1. +39
    -0
      src/views/Statistics/BuildingContrast.vue
  2. +273
    -176
      src/views/Statistics/MentoringAbility.vue
  3. +40
    -1
      src/views/Statistics/ReceptionOverview.vue
  4. +409
    -107
      src/views/Statistics/TheTeamCompared.vue
  5. +226
    -76
      src/views/Statistics/index.vue

+ 39
- 0
src/views/Statistics/BuildingContrast.vue View File

@@ -373,6 +373,20 @@ export default {
this.houseId = localStorage.getItem("houseId"); this.houseId = localStorage.getItem("houseId");
this.orgCode = localStorage.getItem("orgCode"); this.orgCode = localStorage.getItem("orgCode");
this.gethouseData(); this.gethouseData();
if (this.TimetoAhoose == 4) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 7;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}

}, },
methods: { methods: {
getSummaries(param) { getSummaries(param) {
@@ -638,6 +652,31 @@ export default {
//切换时间 //切换时间
tabtimetap(index) { tabtimetap(index) {
this.TimetoAhoose = index; this.TimetoAhoose = index;
if (index == 4) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 7;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}

if (index == 6) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 30;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}
this.statDateStart = ""; this.statDateStart = "";
this.statDateEnd = ""; this.statDateEnd = "";
this.page = 1; this.page = 1;


+ 273
- 176
src/views/Statistics/MentoringAbility.vue View File

@@ -52,7 +52,7 @@
</div> --> </div> -->
<div class="app-titel projectBackend"> <div class="app-titel projectBackend">
<div class="titel-text">筛选日期:</div> <div class="titel-text">筛选日期:</div>
<div style="margin-left: 14px;">
<div style="margin-left: 14px">
<el-button <el-button
:class="{ 'el-button--primary': TimetoAhoose == 0 }" :class="{ 'el-button--primary': TimetoAhoose == 0 }"
@click="tabtimetap(0)" @click="tabtimetap(0)"
@@ -70,9 +70,17 @@
> >
</div> </div>
<div style="margin-left: 26px"> <div style="margin-left: 26px">
<el-date-picker v-model="customtime" @change="confirmtime()" type="daterange" :clearable="false"
range-separator="-" :default-time="['00:00:00', '23:59:59']" value-format="yyyy-MM-dd"
start-placeholder="开始日期" end-placeholder="结束日期">
<el-date-picker
v-model="customtime"
@change="confirmtime()"
type="daterange"
:clearable="false"
range-separator="-"
:default-time="['00:00:00', '23:59:59']"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker> </el-date-picker>
</div> </div>
</div> </div>
@@ -114,22 +122,30 @@
</div> </div>
</div> </div>


<div :style="{'margin-top':role != 3?'170px':'120px'}" v-if="consultantlistid">
<div
:style="{ 'margin-top': role != 3 ? '170px' : '120px' }"
v-if="consultantlistid"
>
<div class="app-box-san"> <div class="app-box-san">
<div class="zuo"> <div class="zuo">
<div class="title"> <div class="title">
<div class="text1">接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<div class="text1">
接待量
<el-tooltip
effect="light"
content="筛选时间内,已经结束的接待条数,不包含待接单;"
placement="bottom-end"
>
<i class="pop"></i> <i class="pop"></i>
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
<div class="hejisan"> <div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">{{ consultantname }}</div> <div class="text1-1">{{ consultantname }}</div>
<div class="text1-2">{{ datalistobj1.avgA }}次</div> <div class="text1-2">{{ datalistobj1.avgA }}次</div>
</div> </div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">{{ Packname }}</div> <div class="text1-1">{{ Packname }}</div>
<div class="text1-2">{{ datalistobj1.avgB }}次</div> <div class="text1-2">{{ datalistobj1.avgB }}次</div>
</div> </div>
@@ -143,11 +159,11 @@
<div class="text1">接待时长</div> <div class="text1">接待时长</div>
</div> </div>
<div class="hejisan"> <div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">{{ consultantname }}</div> <div class="text1-1">{{ consultantname }}</div>
<div class="text1-2">{{ datalistobj2.avgA }}分钟</div> <div class="text1-2">{{ datalistobj2.avgA }}分钟</div>
</div> </div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">{{ Packname }}</div> <div class="text1-1">{{ Packname }}</div>
<div class="text1-2">{{ datalistobj2.avgB }}分钟</div> <div class="text1-2">{{ datalistobj2.avgB }}分钟</div>
</div> </div>
@@ -180,11 +196,11 @@
</div> </div>
</div> </div>
<div class="hejisan"> <div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">{{ consultantname }}</div> <div class="text1-1">{{ consultantname }}</div>
<div class="text1-2">{{ datalistobj3.avgA }}%</div> <div class="text1-2">{{ datalistobj3.avgA }}%</div>
</div> </div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">{{ Packname }}</div> <div class="text1-1">{{ Packname }}</div>
<div class="text1-2">{{ datalistobj3.avgB }}%</div> <div class="text1-2">{{ datalistobj3.avgB }}%</div>
</div> </div>
@@ -198,26 +214,43 @@
<div class="text1">销讲能力雷达图</div> <div class="text1">销讲能力雷达图</div>
</div> </div>
<div class="hejisan"> <div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">&nbsp;</div> <div class="text1-1">&nbsp;</div>
<div class="text1-2">&nbsp;</div> <div class="text1-2">&nbsp;</div>
</div> </div>
</div> </div>
<div v-if="data4flag" style="height: 350px; width: 94%; margin: 0 auto">
<div
v-if="data4flag"
style="height: 350px; width: 94%; margin: 0 auto"
>
<div id="data4" style="height: 350px"></div> <div id="data4" style="height: 350px"></div>
</div> </div>
<div v-else style="height: 350px; width: 94%; margin: 0 auto;text-align:center;color: #999999;">
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
<div
v-else
style="
height: 350px;
width: 94%;
margin: 0 auto;
text-align: center;
color: #999999;
"
>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size: 14px">暂无数据</div>
</div>
</div> </div>
</div> </div>


<div class="app-box-san"> <div class="app-box-san">
<div class="zuo"> <div class="zuo">
<div class="title"> <div class="title">
<div class="text1">违禁接待次数
<el-tooltip effect="light" content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;" placement="bottom-end">
<div class="text1">
违禁接待次数
<el-tooltip
effect="light"
content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;"
placement="bottom-end"
>
<i class="pop"></i> <i class="pop"></i>
</el-tooltip> </el-tooltip>
</div> </div>
@@ -239,11 +272,11 @@
</div> </div>
</div> </div>
<div class="hejisan"> <div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">{{ consultantname }}</div> <div class="text1-1">{{ consultantname }}</div>
<div class="text1-2">{{ datalistobj5.avgA }}次</div> <div class="text1-2">{{ datalistobj5.avgA }}次</div>
</div> </div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">{{ Packname }}</div> <div class="text1-1">{{ Packname }}</div>
<div class="text1-2">{{ datalistobj5.avgB }}次</div> <div class="text1-2">{{ datalistobj5.avgB }}次</div>
</div> </div>
@@ -257,19 +290,30 @@
<div class="text1">违禁话术雷达图</div> <div class="text1">违禁话术雷达图</div>
</div> </div>
<div class="hejisan"> <div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">&nbsp;</div> <div class="text1-1">&nbsp;</div>
<div class="text1-2">&nbsp;</div> <div class="text1-2">&nbsp;</div>
</div> </div>
</div> </div>
<div v-if="data6flag" style="height: 350px; width: 94%; margin: 0 auto">
<div id="data6" style="height: 350px"></div>
<div
v-if="data6flag"
style="height: 350px; width: 94%; margin: 0 auto"
>
<div id="data6" style="height: 350px"></div>
</div>
<div
v-else
style="
height: 350px;
width: 94%;
margin: 0 auto;
text-align: center;
color: #999999;
"
>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size: 14px">暂无数据</div>
</div> </div>
<div v-else style="height: 350px; width: 94%; margin: 0 auto;text-align:center;color: #999999;">
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>

</div> </div>
</div> </div>
<!-- 表格 --> <!-- 表格 -->
@@ -287,44 +331,58 @@
style="margin-left: auto; margin-right: 10px" style="margin-left: auto; margin-right: 10px"
v-if="sta_men_downLoad" v-if="sta_men_downLoad"
> >
<el-button @click="downLoad" icon="el-icon-download">导出</el-button>
<el-button @click="downLoad" icon="el-icon-download"
>导出</el-button
>
</div> </div>
</div> </div>
<div style="padding:10px;background: #fff;">
<el-table :header-cell-style="{background:'#F5F7FA',color:'#333333'}" :data="tableData" stripe style="width: 100%" height="640">
<el-table-column prop="statDate" label="日期" align="center">
<template slot-scope="scope">
{{
scope.$index == tableData.length - 1
? "合计/平均"
: scope.row.statDate.substring(0, 10)
}}
<!-- {{scope.$index}} -->
</template>
</el-table-column>
<el-table-column prop="activeCustomer" label="接待量" align="center">
<template slot-scope="{ row }">
{{ row.activeCustomer }}次
</template>
</el-table-column>
<el-table-column
v-if="tabFlag == 1"
prop="prohibitedCustomer"
label="违禁接待次数"
align="center"
<div style="padding: 10px; background: #fff">
<el-table
:header-cell-style="{ background: '#F5F7FA', color: '#333333' }"
:data="tableData"
stripe
style="width: 100%"
height="640"
> >
<template slot-scope="{ row }">
{{ row.prohibitedCustomer }}次
</template>
</el-table-column>
<el-table-column
v-if="tabFlag == 1"
prop="prohibitedZb"
label="违禁接待占比"
align="center"
>
<template slot-scope="{ row }"> {{ row.prohibitedZb }}% </template>
<!-- </el-table-column>
<el-table-column prop="statDate" label="日期" align="center">
<template slot-scope="scope">
{{
scope.$index == tableData.length - 1
? "合计/平均"
: scope.row.statDate.substring(0, 10)
}}
<!-- {{scope.$index}} -->
</template>
</el-table-column>
<el-table-column
prop="activeCustomer"
label="接待量"
align="center"
>
<template slot-scope="{ row }">
{{ row.activeCustomer }}次
</template>
</el-table-column>
<el-table-column
v-if="tabFlag == 1"
prop="prohibitedCustomer"
label="违禁接待次数"
align="center"
>
<template slot-scope="{ row }">
{{ row.prohibitedCustomer }}次
</template>
</el-table-column>
<el-table-column
v-if="tabFlag == 1"
prop="prohibitedZb"
label="违禁接待占比"
align="center"
>
<template slot-scope="{ row }">
{{ row.prohibitedZb }}%
</template>
<!-- </el-table-column>
<el-table-column <el-table-column
v-if="tabFlag == 1" v-if="tabFlag == 1"
prop="receivableEquipmentCount" prop="receivableEquipmentCount"
@@ -338,18 +396,18 @@
label="过度保证次数" label="过度保证次数"
align="center" align="center"
> --> > -->
</el-table-column>
<el-table-column
v-if="tabFlag == 0"
prop="realityEquipmentCount"
label="接待时长"
align="center"
>
<template slot-scope="{ row }">
{{ row.sumDuration }}分钟
</template>
</el-table-column>
<!-- <el-table-column v-if="tabFlag == 0" prop="acceptanceNum" label="品牌介绍执行率" align="center">
</el-table-column>
<el-table-column
v-if="tabFlag == 0"
prop="realityEquipmentCount"
label="接待时长"
align="center"
>
<template slot-scope="{ row }">
{{ row.sumDuration }}分钟
</template>
</el-table-column>
<!-- <el-table-column v-if="tabFlag == 0" prop="acceptanceNum" label="品牌介绍执行率" align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
v-if="tabFlag == 0" v-if="tabFlag == 0"
@@ -363,40 +421,42 @@
</el-table-column> </el-table-column>
<el-table-column prop="remark" v-if="tabFlag == 1" label="...执行性次数" align="center"> <el-table-column prop="remark" v-if="tabFlag == 1" label="...执行性次数" align="center">
</el-table-column> --> </el-table-column> -->
<el-table-column
v-if="tabFlag == 0"
prop="fraction"
label="平均执行率"
align="center"
>
<template slot-scope="{ row }"> {{ row.fraction }}% </template>
</el-table-column>
<el-table-column
v-for="(item, idx) in tablist"
:key="idx"
:prop="item.props"
:label="item.label"
align="center"
>
<template slot-scope="{ row }">
<span v-if="tabFlag == 1"> {{ row[item.props] }}次</span>
<span v-else> {{ row[item.props] }}%</span>
<!-- {{row[item.props]}}% -->
</template>
</el-table-column>
</el-table>
<div style="display: flex; justify-content: flex-end; margin-top: 10px">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="current"
:page-sizes="[10, 30, 50]"
:page-size="size"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
<el-table-column
v-if="tabFlag == 0"
prop="fraction"
label="平均执行率"
align="center"
>
<template slot-scope="{ row }"> {{ row.fraction }}% </template>
</el-table-column>
<el-table-column
v-for="(item, idx) in tablist"
:key="idx"
:prop="item.props"
:label="item.label"
align="center"
>
<template slot-scope="{ row }">
<span v-if="tabFlag == 1"> {{ row[item.props] }}次</span>
<span v-else> {{ row[item.props] }}%</span>
<!-- {{row[item.props]}}% -->
</template>
</el-table-column>
</el-table>
<div
style="display: flex; justify-content: flex-end; margin-top: 10px"
> >
</el-pagination>
</div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="current"
:page-sizes="[10, 30, 50]"
:page-size="size"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
>
</el-pagination>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -404,7 +464,9 @@
<div v-else class="noData"> <div v-else class="noData">
<div class="imgboxc"> <div class="imgboxc">
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> --> <!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;padding-top: 100px;">暂无数据</div>
<div class="nulltext" style="font-size: 14px; padding-top: 100px">
暂无数据
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -415,7 +477,7 @@ import * as echarts from "echarts";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import { exportMethodPost } from "@/util/util"; import { exportMethodPost } from "@/util/util";


import colorTheme from "../../util/theme.color"
import colorTheme from "../../util/theme.color";
import color from "../../mixins/color"; import color from "../../mixins/color";
export default { export default {
data() { data() {
@@ -480,8 +542,8 @@ export default {
tablist: [], tablist: [],
houseList: [], houseList: [],
role: "", role: "",
data6flag:true,
data4flag:true
data6flag: true,
data4flag: true,
}; };
}, },
computed: { computed: {
@@ -498,6 +560,19 @@ export default {
} else { } else {
this.zkhousePage(); this.zkhousePage();
} }

if (this.TimetoAhoose == 4) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 7;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}
}, },
methods: { methods: {
downLoad() { downLoad() {
@@ -508,7 +583,11 @@ export default {
accountId: this.consultantlistid, accountId: this.consultantlistid,
dateType: this.TimetoAhoose == 7 ? null : this.TimetoAhoose, dateType: this.TimetoAhoose == 7 ? null : this.TimetoAhoose,
}; };
exportMethodPost('autoSR/cusStageStatistics/prohibitedStatisticsExport','顾问能力',obj)
exportMethodPost(
"autoSR/cusStageStatistics/prohibitedStatisticsExport",
"顾问能力",
obj
);
}, },
init() { init() {
this.getAccount(); this.getAccount();
@@ -782,7 +861,7 @@ export default {
pamaet.dateType = this.TimetoAhoose; pamaet.dateType = this.TimetoAhoose;
} }
this.$api.http.accountData(pamaet).then((res) => { this.$api.http.accountData(pamaet).then((res) => {
console.log(res.data,'数据');
console.log(res.data, "数据");
this.datalistobj6 = { this.datalistobj6 = {
listA: res.data.listA || [], listA: res.data.listA || [],
listB: res.data.listB || [], listB: res.data.listB || [],
@@ -884,8 +963,8 @@ export default {
let list = res.data || []; let list = res.data || [];


if (list.length == 0) { if (list.length == 0) {
this.consultantlist = list
this.consultantlistid=''
this.consultantlist = list;
this.consultantlistid = "";
this.datalistobj1 = { this.datalistobj1 = {
avgA: "", avgA: "",
avgB: "", avgB: "",
@@ -970,12 +1049,12 @@ export default {
legend: { legend: {
data: [this.consultantname, this.Packname], data: [this.consultantname, this.Packname],
top: "6", top: "6",
icon:"roundRect"
icon: "roundRect",
}, },
grid: { grid: {
left: 10, left: 10,
right: 10, right: 10,
bottom:18,
bottom: 18,


containLabel: true, containLabel: true,
}, },
@@ -1003,15 +1082,12 @@ export default {
type: "line", type: "line",
smooth: true, smooth: true,
areaStyle: { areaStyle: {
color: new echarts.graphic.LinearGradient(
0, 0, 0, 1,
[
{ offset: 0, color: colorTheme.colorArr[0] },
{ offset: 1, color: "#fff" }
]
),
opacity: 0.1
}
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 0, color: colorTheme.colorArr[0] },
{ offset: 1, color: "#fff" },
]),
opacity: 0.1,
},
}, },
{ {
name: this.Packname, name: this.Packname,
@@ -1019,15 +1095,12 @@ export default {
type: "line", type: "line",
smooth: true, smooth: true,
areaStyle: { areaStyle: {
color: new echarts.graphic.LinearGradient(
0, 0, 0, 1,
[
{ offset: 0, color: colorTheme.colorArr[1] },
{ offset: 1, color: "#fff" }
]
),
opacity: 0.1
}
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 0, color: colorTheme.colorArr[1] },
{ offset: 1, color: "#fff" },
]),
opacity: 0.1,
},
}, },
], ],
}; };
@@ -1138,7 +1211,7 @@ export default {
data: [this.consultantname, this.Packname], data: [this.consultantname, this.Packname],
right: "10", right: "10",
top: "10", top: "10",
icon:"roundRect"
icon: "roundRect",
}, },
color: ["#2671E2", "#F3787B"], color: ["#2671E2", "#F3787B"],
radar: { radar: {
@@ -1163,20 +1236,18 @@ export default {
}, },
], ],
}; };
try{
option && myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
this[data1+'flag']=true
});
}
catch(err){
console.log(err,data1);
this[data1+'flag']=false
try {
option && myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
this[data1 + "flag"] = true;
});
} catch (err) {
console.log(err, data1);
this[data1 + "flag"] = false;
echarts.init(document.getElementById(data1)).dispose(); echarts.init(document.getElementById(data1)).dispose();
console.log(this[data1+'flag']);
console.log(this[data1 + "flag"]);
} }

}, },
handleCurrentChange(e) { handleCurrentChange(e) {
this.current = e; this.current = e;
@@ -1195,8 +1266,34 @@ export default {
//切换时间 //切换时间
tabtimetap(index) { tabtimetap(index) {
this.TimetoAhoose = index; this.TimetoAhoose = index;
if (index == 4) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 7;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}

if (index == 6) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 30;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}
this.statDateStart = ""; this.statDateStart = "";
this.statDateEnd = ""; this.statDateEnd = "";

this.init(); this.init();
}, },
tabFlagChange(idx) { tabFlagChange(idx) {
@@ -1263,7 +1360,7 @@ export default {
.app-top { .app-top {
// width: 100%; // width: 100%;
width: calc(100% - 270px); width: calc(100% - 270px);
position: fixed;
position: fixed;
z-index: 999; z-index: 999;
margin-top: -16px; margin-top: -16px;
background: #ffffff; background: #ffffff;
@@ -1327,8 +1424,8 @@ export default {
font-weight: 500; font-weight: 500;
font-size: 16px; font-size: 16px;
color: #333333; color: #333333;
display: flex;
align-items: center;
display: flex;
align-items: center;
} }
.text2 { .text2 {
flex: 1; flex: 1;
@@ -1356,8 +1453,8 @@ export default {
font-weight: 500; font-weight: 500;
font-size: 16px; font-size: 16px;
color: #333333; color: #333333;
display: flex;
align-items: center;
display: flex;
align-items: center;
} }
.text2 { .text2 {
flex: 1; flex: 1;
@@ -1440,40 +1537,40 @@ export default {
margin-left: 15px; margin-left: 15px;
min-width: 40px; min-width: 40px;
} }
.noData{
width: 100%;
// height: 60vh;
height: 500px;
background: #fff;
text-align: center;
margin-top: 20px;
overflow: hidden;
.noData {
width: 100%;
// height: 60vh;
height: 500px;
background: #fff;
text-align: center;
margin-top: 20px;
overflow: hidden;
} }
.imgboxc{
.imgboxc {
margin-top: 100px; margin-top: 100px;
color: #999999; color: #999999;
} }
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
/deep/ .el-table__header-wrapper {
thead {
tr {
th {
background: #f5f7fa;
color: #333333; color: #333333;
} }
} }
} }
} }
.pop{
.pop {
display: inline-block; display: inline-block;
width: 18px; width: 18px;
height: 18px; height: 18px;
background: url('../../../public/img/pop.png') no-repeat;
background: url("../../../public/img/pop.png") no-repeat;
background-size: 100%; background-size: 100%;
margin-left: 6px; margin-left: 6px;
} }


/deep/ .el-button--primary{
background: #2671E2 !important;
border: 1px solid #2671E2 !important;
/deep/ .el-button--primary {
background: #2671e2 !important;
border: 1px solid #2671e2 !important;
} }
</style> </style>

+ 40
- 1
src/views/Statistics/ReceptionOverview.vue View File

@@ -772,6 +772,19 @@ export default {
} else { } else {
this.zkhousePage(); this.zkhousePage();
} }
if (this.TimetoAhoose == 4) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 7;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}
}, },
methods: { methods: {
// 选项卡切换事件 // 选项卡切换事件
@@ -1661,9 +1674,35 @@ export default {
//时间选择 //时间选择
tabtimetap(index) { tabtimetap(index) {
this.TimetoAhoose = index; this.TimetoAhoose = index;
if (index == 4) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 7;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}

if (index == 6) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 30;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}
this.fromobj.statDateStart = ""; this.fromobj.statDateStart = "";
this.fromobj.statDateEnd = ""; this.fromobj.statDateEnd = "";
this.customtime = [];
this.overviewreceptionOverview(); this.overviewreceptionOverview();
this.overviewreceptionData(); this.overviewreceptionData();
this.overviewteamOrAccountSellingTrends(); this.overviewteamOrAccountSellingTrends();


+ 409
- 107
src/views/Statistics/TheTeamCompared.vue View File

@@ -5,8 +5,18 @@
<div class="app-titel" v-if="role != 3" style="margin-bottom: 10px"> <div class="app-titel" v-if="role != 3" style="margin-bottom: 10px">
<div class="titel-text">项目选择:</div> <div class="titel-text">项目选择:</div>
<div style="margin-left: 26px"> <div style="margin-left: 26px">
<el-select v-model="houseId" placeholder="请选择" filterable @change="houseChange">
<el-option v-for="item in houseList" :key="item.id" :label="item.propertyName" :value="item.id">
<el-select
v-model="houseId"
placeholder="请选择"
filterable
@change="houseChange"
>
<el-option
v-for="item in houseList"
:key="item.id"
:label="item.propertyName"
:value="item.id"
>
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
@@ -37,7 +47,7 @@
</div> --> </div> -->
<div class="app-titel projectBackend"> <div class="app-titel projectBackend">
<div class="titel-text">筛选日期:</div> <div class="titel-text">筛选日期:</div>
<div style="margin-left: 14px;">
<div style="margin-left: 14px">
<el-button <el-button
:class="{ 'el-button--primary': TimetoAhoose == 0 }" :class="{ 'el-button--primary': TimetoAhoose == 0 }"
@click="tabtimetap(0)" @click="tabtimetap(0)"
@@ -55,20 +65,35 @@
> >
</div> </div>
<div style="margin-left: 26px"> <div style="margin-left: 26px">
<el-date-picker v-model="customtime" @change="confirmtime()" type="daterange" :clearable="false"
range-separator="-" :default-time="['00:00:00', '23:59:59']" value-format="yyyy-MM-dd"
start-placeholder="开始日期" end-placeholder="结束日期">
<el-date-picker
v-model="customtime"
@change="confirmtime()"
type="daterange"
:clearable="false"
range-separator="-"
:default-time="['00:00:00', '23:59:59']"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker> </el-date-picker>
</div> </div>
</div> </div>
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="cen-tab" :style="{'margin-top':role != 3?'110px':'70px'}">
<div
class="cen-tab"
:style="{ 'margin-top': role != 3 ? '110px' : '70px' }"
>
<div style="overflow: auto"> <div style="overflow: auto">
<table> <table>
<tbody> <tbody>
<tr style="background: #F5F7FA;color: #333333;">
<td v-for="(item, index) in tablsitdata1" :key="index" class="theadtd">
<tr style="background: #f5f7fa; color: #333333">
<td
v-for="(item, index) in tablsitdata1"
:key="index"
class="theadtd"
>
{{ item.name }} {{ item.name }}
</td> </td>
</tr> </tr>
@@ -88,7 +113,11 @@
</td> </td>
<td class="theadtd">{{ item.fraction || 0 }}%</td> <td class="theadtd">{{ item.fraction || 0 }}%</td>
<td class="theadtd">{{ item.prohibitedZb || 0 }}%</td> <td class="theadtd">{{ item.prohibitedZb || 0 }}%</td>
<td class="theadtd" v-for="(che, ind) in item.resultsList" :key="ind">
<td
class="theadtd"
v-for="(che, ind) in item.resultsList"
:key="ind"
>
{{ che.zxl }}% {{ che.zxl }}%
</td> </td>
</tr> </tr>
@@ -100,42 +129,97 @@
<div class="app-box-san"> <div class="app-box-san">
<div class="zuo"> <div class="zuo">
<div class="title"> <div class="title">
<div class="text1">接待量排名
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<div class="text1">
接待量排名
<el-tooltip
effect="light"
content="筛选时间内,已经结束的接待条数,不包含待接单;"
placement="bottom-end"
>
<i class="pop"></i> <i class="pop"></i>
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
<div class="hejisan"> <div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">团队总数</div> <div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj1.num || 0 }}个</div> <div class="text1-2">{{ teamobj1.num || 0 }}个</div>
</div> </div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">均值</div> <div class="text1-1">均值</div>
<div class="text1-2">{{ teamobj1.avg || 0 }}个</div> <div class="text1-2">{{ teamobj1.avg || 0 }}个</div>
</div> </div>
</div> </div>
<div v-if="teamobj1.list.length != 0" style="width: 94%; margin: 0 auto">
<div
v-if="teamobj1.list.length != 0"
style="width: 94%; margin: 0 auto"
>
<div class="jinbox" v-for="(item, i) in teamobj1.list" :key="i"> <div class="jinbox" v-for="(item, i) in teamobj1.list" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> --> <!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#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',
'border': i + 1 == 1 ? '1px solid #FFCAC6' : i + 1 == 2 ? '1px solid #FFD6AA' : i + 1 == 3 ? '1px solid #FFEEAC' : 'none',
}">{{ i + 1 }}</span>
<span
class="sequenceNum"
:style="{
background:
i + 1 == 1
? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)'
: i + 1 == 2
? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)'
: i + 1 == 3
? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)'
: '#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',
border:
i + 1 == 1
? '1px solid #FFCAC6'
: i + 1 == 2
? '1px solid #FFD6AA'
: i + 1 == 3
? '1px solid #FFEEAC'
: 'none',
}"
>{{ i + 1 }}</span
>
<div class="jinboxtit"> <div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<el-tooltip
class="item"
effect="dark"
:content="item.name"
placement="top-start"
>
<span class="name">{{ item.name }}</span> <span class="name">{{ item.name }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
<div class="jinbox-box"> <div class="jinbox-box">
<!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> --> <!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>

<div
class="boxbaifenbi"
:style="{
background:
i + 1 == 1
? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)'
: i + 1 == 2
? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)'
: i + 1 == 3
? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)'
: 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)',
width: item.zxl1 + '%',
}"
></div>
</div> </div>
<div class="jinboxbott">{{ item.zxl }}个</div> <div class="jinboxbott">{{ item.zxl }}个</div>
</div> </div>
@@ -143,7 +227,7 @@
<div class="nulllist" v-if="teamobj1.list.length == 0"> <div class="nulllist" v-if="teamobj1.list.length == 0">
<div class="imgboxc"> <div class="imgboxc">
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> --> <!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
<div class="nulltext" style="font-size: 14px">暂无数据</div>
</div> </div>
</div> </div>
</div> </div>
@@ -152,39 +236,90 @@
<div class="text1">接待时长排名</div> <div class="text1">接待时长排名</div>
</div> </div>
<div class="hejisan"> <div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">团队总数</div> <div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj2.num || 0 }}个</div> <div class="text1-2">{{ teamobj2.num || 0 }}个</div>
</div> </div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">均值</div> <div class="text1-1">均值</div>
<div class="text1-2"> <div class="text1-2">
{{ Math.floor(teamobj2.avg / 60) || 0 }}分钟 {{ Math.floor(teamobj2.avg / 60) || 0 }}分钟
</div> </div>
</div> </div>
</div> </div>
<div v-if="teamobj2.list.length != 0" style="width: 94%; margin: 0 auto">
<div
v-if="teamobj2.list.length != 0"
style="width: 94%; margin: 0 auto"
>
<div class="jinbox" v-for="(item, i) in teamobj2.list" :key="i"> <div class="jinbox" v-for="(item, i) in teamobj2.list" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> <!-- <div class="jinboxtit">{{ item.name }}</div>
<div class="jinbox-box"> <div class="jinbox-box">
<div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div>
</div> --> </div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#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',
'border': i + 1 == 1 ? '1px solid #FFCAC6' : i + 1 == 2 ? '1px solid #FFD6AA' : i + 1 == 3 ? '1px solid #FFEEAC' : 'none',
}">{{ i + 1 }}</span>
<span
class="sequenceNum"
:style="{
background:
i + 1 == 1
? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)'
: i + 1 == 2
? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)'
: i + 1 == 3
? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)'
: '#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',
border:
i + 1 == 1
? '1px solid #FFCAC6'
: i + 1 == 2
? '1px solid #FFD6AA'
: i + 1 == 3
? '1px solid #FFEEAC'
: 'none',
}"
>{{ i + 1 }}</span
>
<div class="jinboxtit"> <div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<el-tooltip
class="item"
effect="dark"
:content="item.name"
placement="top-start"
>
<span class="name">{{ item.name }}</span> <span class="name">{{ item.name }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
<div class="jinbox-box"> <div class="jinbox-box">
<!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> --> <!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>
<div
class="boxbaifenbi"
:style="{
background:
i + 1 == 1
? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)'
: i + 1 == 2
? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)'
: i + 1 == 3
? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)'
: 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)',
width: item.zxl1 + '%',
}"
></div>
</div> </div>
<div class="jinboxbott">{{ item.zxl }}分钟</div> <div class="jinboxbott">{{ item.zxl }}分钟</div>
</div> </div>
@@ -192,7 +327,7 @@
<div class="nulllist" v-if="teamobj2.list.length == 0"> <div class="nulllist" v-if="teamobj2.list.length == 0">
<div class="imgboxc"> <div class="imgboxc">
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> --> <!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
<div class="nulltext" style="font-size: 14px">暂无数据</div>
</div> </div>
</div> </div>
</div> </div>
@@ -203,42 +338,101 @@
<div class="title"> <div class="title">
<div class="text1">销讲执行率</div> <div class="text1">销讲执行率</div>
<div class="text2"> <div class="text2">
<el-select @change="teamAllLevelidtap()" style="width: 90%; margin: 0 auto" v-model="teamAllLevelid"
placeholder="请选择">
<el-option v-for="item in teamAllLevel" :key="item.value" :label="item.name" :value="item.value">
<el-select
@change="teamAllLevelidtap()"
style="width: 90%; margin: 0 auto"
v-model="teamAllLevelid"
placeholder="请选择"
>
<el-option
v-for="item in teamAllLevel"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
<div class="hejisan"> <div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">团队总数</div> <div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj3.num || 0 }}个</div> <div class="text1-2">{{ teamobj3.num || 0 }}个</div>
</div> </div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">均值</div> <div class="text1-1">均值</div>
<div class="text1-2">{{ teamobj3.avg || 0 }}%</div> <div class="text1-2">{{ teamobj3.avg || 0 }}%</div>
</div> </div>
</div> </div>
<div v-if="teamobj3.list.length != 0" style="width: 94%; margin: 0 auto">
<div
v-if="teamobj3.list.length != 0"
style="width: 94%; margin: 0 auto"
>
<div class="jinbox" v-for="(item, i) in teamobj3.list" :key="i"> <div class="jinbox" v-for="(item, i) in teamobj3.list" :key="i">
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#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',
'border': i + 1 == 1 ? '1px solid #FFCAC6' : i + 1 == 2 ? '1px solid #FFD6AA' : i + 1 == 3 ? '1px solid #FFEEAC' : 'none',
}">{{ i + 1 }}</span>
<span
class="sequenceNum"
:style="{
background:
i + 1 == 1
? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)'
: i + 1 == 2
? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)'
: i + 1 == 3
? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)'
: '#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',
border:
i + 1 == 1
? '1px solid #FFCAC6'
: i + 1 == 2
? '1px solid #FFD6AA'
: i + 1 == 3
? '1px solid #FFEEAC'
: 'none',
}"
>{{ i + 1 }}</span
>
<div class="jinboxtit"> <div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<el-tooltip
class="item"
effect="dark"
:content="item.name"
placement="top-start"
>
<span class="name">{{ item.name }}</span> <span class="name">{{ item.name }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
<div class="jinbox-box"> <div class="jinbox-box">
<!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> --> <!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl + '%' }">
</div>

<div
class="boxbaifenbi"
:style="{
background:
i + 1 == 1
? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)'
: i + 1 == 2
? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)'
: i + 1 == 3
? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)'
: 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)',
width: item.zxl + '%',
}"
></div>
</div> </div>
<div class="jinboxbott">{{ item.zxl }}%</div> <div class="jinboxbott">{{ item.zxl }}%</div>
</div> </div>
@@ -246,7 +440,7 @@
<div class="nulllist" v-if="teamobj3.list.length == 0"> <div class="nulllist" v-if="teamobj3.list.length == 0">
<div class="imgboxc"> <div class="imgboxc">
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> --> <!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
<div class="nulltext" style="font-size: 14px">暂无数据</div>
</div> </div>
</div> </div>
</div> </div>
@@ -254,11 +448,15 @@
<div class="title"> <div class="title">
<div class="text1">销讲能力雷达图</div> <div class="text1">销讲能力雷达图</div>
</div> </div>
<div id="main" v-if="isshowcd2 == true" style="width: 94%; margin: 0 auto"></div>
<div
id="main"
v-if="isshowcd2 == true"
style="width: 94%; margin: 0 auto"
></div>
<div class="nulllist" v-if="isshowcd2 == false"> <div class="nulllist" v-if="isshowcd2 == false">
<div class="imgboxc"> <div class="imgboxc">
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> --> <!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
<div class="nulltext" style="font-size: 14px">暂无数据</div>
</div> </div>
</div> </div>
</div> </div>
@@ -267,52 +465,116 @@
<div class="app-box-san"> <div class="app-box-san">
<div class="zuo"> <div class="zuo">
<div class="title"> <div class="title">
<div class="text1">违禁接待次数
<el-tooltip effect="light" content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;" placement="bottom-end">
<div class="text1">
违禁接待次数
<el-tooltip
effect="light"
content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;"
placement="bottom-end"
>
<i class="pop"></i> <i class="pop"></i>
</el-tooltip> </el-tooltip>
</div> </div>
<div class="text2"> <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-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-option>
</el-select> </el-select>
</div> </div>
</div> </div>
<div class="hejisan"> <div class="hejisan">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">团队总数</div> <div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj5.num || 0 }}个</div> <div class="text1-2">{{ teamobj5.num || 0 }}个</div>
</div> </div>
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="sanbox1" style="width: 50%; text-align: center">
<div class="text1-1">均值</div> <div class="text1-1">均值</div>
<div class="text1-2">{{ teamobj5.avg || 0 }}次</div> <div class="text1-2">{{ teamobj5.avg || 0 }}次</div>
</div> </div>
</div> </div>
<div v-if="teamobj5.list.length != 0" style="width: 94%; margin: 0 auto">
<div
v-if="teamobj5.list.length != 0"
style="width: 94%; margin: 0 auto"
>
<div class="jinbox" v-for="(item, i) in teamobj5.list" :key="i"> <div class="jinbox" v-for="(item, i) in teamobj5.list" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> <!-- <div class="jinboxtit">{{ item.name }}</div>
<div class="jinbox-box"> <div class="jinbox-box">
<div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div>
</div> --> </div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#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',
'border': i + 1 == 1 ? '1px solid #FFCAC6' : i + 1 == 2 ? '1px solid #FFD6AA' : i + 1 == 3 ? '1px solid #FFEEAC' : 'none',
}">{{ i + 1 }}</span>
<span
class="sequenceNum"
:style="{
background:
i + 1 == 1
? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)'
: i + 1 == 2
? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)'
: i + 1 == 3
? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)'
: '#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',
border:
i + 1 == 1
? '1px solid #FFCAC6'
: i + 1 == 2
? '1px solid #FFD6AA'
: i + 1 == 3
? '1px solid #FFEEAC'
: 'none',
}"
>{{ i + 1 }}</span
>
<div class="jinboxtit"> <div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<el-tooltip
class="item"
effect="dark"
:content="item.name"
placement="top-start"
>
<span class="name">{{ item.name }}</span> <span class="name">{{ item.name }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
<div class="jinbox-box"> <div class="jinbox-box">
<!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> --> <!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>

<div
class="boxbaifenbi"
:style="{
background:
i + 1 == 1
? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)'
: i + 1 == 2
? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)'
: i + 1 == 3
? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)'
: 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)',
width: item.zxl1 + '%',
}"
></div>
</div> </div>
<div class="jinboxbott">{{ item.zxl }}次</div> <div class="jinboxbott">{{ item.zxl }}次</div>
</div> </div>
@@ -320,7 +582,7 @@
<div class="nulllist" v-if="teamobj5.list.length == 0"> <div class="nulllist" v-if="teamobj5.list.length == 0">
<div class="imgboxc"> <div class="imgboxc">
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> --> <!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
<div class="nulltext" style="font-size: 14px">暂无数据</div>
</div> </div>
</div> </div>
</div> </div>
@@ -328,16 +590,19 @@
<div class="title"> <div class="title">
<div class="text1">违禁话术雷达图</div> <div class="text1">违禁话术雷达图</div>
</div> </div>
<div v-if="isshowcd == true" id="main2" style="width: 94%; margin: 0 auto"></div>
<div
v-if="isshowcd == true"
id="main2"
style="width: 94%; margin: 0 auto"
></div>
<div class="nulllist" v-if="isshowcd == false"> <div class="nulllist" v-if="isshowcd == false">
<div class="imgboxc"> <div class="imgboxc">
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> --> <!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
<div class="nulltext" style="font-size: 14px">暂无数据</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>

</div> </div>
</template> </template>


@@ -400,6 +665,18 @@ export default {
} else { } else {
this.zkhousePage(); this.zkhousePage();
} }
if (this.TimetoAhoose == 4) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 7;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}
}, },
methods: { methods: {
downLoad() { downLoad() {
@@ -762,7 +1039,7 @@ export default {
data: namelist, data: namelist,
right: "10", right: "10",
top: "10", top: "10",
icon:"roundRect"
icon: "roundRect",
}, },
color: ["#2671E2", "#F3787B"], color: ["#2671E2", "#F3787B"],
radar: { radar: {
@@ -826,7 +1103,7 @@ export default {
data: namelist, data: namelist,
right: "10", right: "10",
top: "10", top: "10",
icon:"roundRect"
icon: "roundRect",
}, },
color: ["#2671E2", "#F3787B"], color: ["#2671E2", "#F3787B"],
radar: { radar: {
@@ -900,9 +1177,34 @@ export default {
//切换时间 //切换时间
tabtimetap(index) { tabtimetap(index) {
this.TimetoAhoose = index; this.TimetoAhoose = index;
if (index == 4) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 7;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}

if (index == 6) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 30;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}
this.statDateStart = ""; this.statDateStart = "";
this.statDateEnd = ""; this.statDateEnd = "";
this.customtime = [];
this.allhttp(); this.allhttp();
}, },
dealData(arr) { dealData(arr) {
@@ -1035,8 +1337,8 @@ tbody tr {
font-weight: 500; font-weight: 500;
font-size: 16px; font-size: 16px;
color: #333333; color: #333333;
display: flex;
align-items: center;
display: flex;
align-items: center;
} }


.text2 { .text2 {
@@ -1067,8 +1369,8 @@ tbody tr {
font-weight: 500; font-weight: 500;
font-size: 16px; font-size: 16px;
color: #333333; color: #333333;
display: flex;
align-items: center;
display: flex;
align-items: center;
} }


.text2 { .text2 {
@@ -1156,7 +1458,7 @@ tbody tr {
.theadtd { .theadtd {
width: 140px; width: 140px;
height: 48px; height: 48px;
border-bottom: 1px solid #E0E0E0;
border-bottom: 1px solid #e0e0e0;
text-align: center; text-align: center;
line-height: 48px; line-height: 48px;
font-size: 16px; font-size: 16px;
@@ -1167,26 +1469,26 @@ tbody tr {
flex: 1; flex: 1;
} }
.sequenceNum { .sequenceNum {
display: flex;
width: 26px;
height: 24px;
justify-content: center;
align-items: center;
background: #E5F0FF;
border-radius: 15px;
color: #333333;
margin-right: 10px;
}
.pop{
display: flex;
width: 26px;
height: 24px;
justify-content: center;
align-items: center;
background: #e5f0ff;
border-radius: 15px;
color: #333333;
margin-right: 10px;
}
.pop {
display: inline-block; display: inline-block;
width: 18px; width: 18px;
height: 18px; height: 18px;
background: url('../../../public/img/pop.png') no-repeat;
background: url("../../../public/img/pop.png") no-repeat;
background-size: 100%; background-size: 100%;
margin-left: 6px; margin-left: 6px;
} }
/deep/ .el-button--primary{
background: #2671E2 !important;
border: 1px solid #2671E2 !important;
/deep/ .el-button--primary {
background: #2671e2 !important;
border: 1px solid #2671e2 !important;
} }
</style> </style>

+ 226
- 76
src/views/Statistics/index.vue View File

@@ -1,21 +1,30 @@
<template> <template>
<div class="box-center" ref="boxcenter" style="cursor:pointer;">
<div class="box-center" ref="boxcenter" style="cursor: pointer">
<!-- 头 --> <!-- 头 -->
<div class="app-top"> <div class="app-top">
<div v-if="orgType != 3" class="app-titel2" style="margin-bottom: 10px"> <div v-if="orgType != 3" class="app-titel2" style="margin-bottom: 10px">
<div class="titel-text">
项目选择: </div>
<div class="titel-text">项目选择:</div>
<div style="margin-left: 26px"> <div style="margin-left: 26px">
<el-select v-model="houseId" filterable @change="houseChange" placeholder="请选择">
<el-option v-for="item in buildingoptions" :key="item.value" :label="item.propertyName" :value="item.id">
<el-select
v-model="houseId"
filterable
@change="houseChange"
placeholder="请选择"
>
<el-option
v-for="item in buildingoptions"
:key="item.value"
:label="item.propertyName"
:value="item.id"
>
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
</div> </div>


<div class="app-titel2"> <div class="app-titel2">
<div style="text-indent: 30px;font-weight: bold;">接待时间:</div>
<div style="margin-left: 38px;">
<div style="text-indent: 30px; font-weight: bold">接待时间:</div>
<div style="margin-left: 38px">
<!-- <div :class="{ tophove: TimetoAhoose == 0 }" @click="tabtimetap(0)"> <!-- <div :class="{ tophove: TimetoAhoose == 0 }" @click="tabtimetap(0)">
今日 今日
</div> </div>
@@ -42,27 +51,60 @@
> >
</div> </div>
<div style="margin-left: 26px"> <div style="margin-left: 26px">
<el-date-picker v-model="customtime" @change="confirmtime()" type="daterange" range-separator="-"
:default-time="['00:00:00', '23:59:59']" value-format="yyyy-MM-dd" start-placeholder="开始日期"
end-placeholder="结束日期">
<el-date-picker
v-model="customtime"
@change="confirmtime()"
type="daterange"
range-separator="-"
:default-time="['00:00:00', '23:59:59']"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker> </el-date-picker>
</div> </div>
</div> </div>

</div> </div>


<!-- 中间 --> <!-- 中间 -->
<div style="display: flex;justify-content: space-between" :style="{ 'margin-top': orgType != 3 ? '110px' : '70px' }">
<el-card style="width: 33%;display: flex;flex-direction: column;align-items: center;text-align: center">
<div @click="goTo(1)">{{ efficient || '-' }}</div>
<div
style="display: flex; justify-content: space-between"
:style="{ 'margin-top': orgType != 3 ? '110px' : '70px' }"
>
<el-card
style="
width: 33%;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
"
>
<div @click="goTo(1)">{{ efficient || "-" }}</div>
<div @click="goTo(1)" style="margin-top: 10px">有效接待</div> <div @click="goTo(1)" style="margin-top: 10px">有效接待</div>
</el-card> </el-card>
<el-card style="width: 33%;display: flex;flex-direction: column;align-items: center;text-align: center">
<div @click="goTo(2)">{{ markCount || '-' }}</div>
<el-card
style="
width: 33%;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
"
>
<div @click="goTo(2)">{{ markCount || "-" }}</div>
<div @click="goTo(2)" style="margin-top: 10px">已标顾问</div> <div @click="goTo(2)" style="margin-top: 10px">已标顾问</div>
</el-card> </el-card>
<el-card style="width: 33%;display: flex;flex-direction: column;align-items: center;text-align: center">
<div @click="goTo(3)">{{ noMarkCount || '-' }}</div>
<el-card
style="
width: 33%;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
"
>
<div @click="goTo(3)">{{ noMarkCount || "-" }}</div>
<div @click="goTo(3)" style="margin-top: 10px">未标顾问</div> <div @click="goTo(3)" style="margin-top: 10px">未标顾问</div>
</el-card> </el-card>
</div> </div>
@@ -70,20 +112,29 @@
<div class="app-box"> <div class="app-box">
<div class="conbox">客群特征总览</div> <div class="conbox">客群特征总览</div>
<div v-if="alllist.length > 0" class="alllistbox"> <div v-if="alllist.length > 0" class="alllistbox">
<div class="alllist" v-for="(item, index) in alllist" :key="index" @click="movePlace(index)"
style="cursor: pointer">
<div
class="alllist"
v-for="(item, index) in alllist"
:key="index"
@click="movePlace(index)"
style="cursor: pointer"
>
<div class="alllist-text1">{{ item.name }}</div> <div class="alllist-text1">{{ item.name }}</div>
<div class="alllist-text1">{{ item.num }}</div> <div class="alllist-text1">{{ item.num }}</div>
</div> </div>
</div> </div>
<div v-else> <div v-else>
<div style=" width: 100%;
height: 200px;
display: flex;
align-items: center;
justify-content: center;">
<div
style="
width: 100%;
height: 200px;
display: flex;
align-items: center;
justify-content: center;
"
>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> --> <!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
<div class="nulltext" style="font-size: 14px">暂无数据</div>
</div> </div>
</div> </div>
</div> </div>
@@ -100,24 +151,49 @@
<div>触达占比</div> <div>触达占比</div>
<div>沟通记录</div> <div>沟通记录</div>
</div> </div>
<div v-if="item.total == 0" style="
<div
v-if="item.total == 0"
style="
width: 100%; width: 100%;
line-height: 300px; line-height: 300px;
text-align: center; text-align: center;
color: #999999; color: #999999;
font-size: 14px; font-size: 14px;
">
"
>
暂无数据 暂无数据
</div> </div>
<div class="table-cent" v-else v-for="(itcen, inde) in item.matchKeywords" :key="inde">
<div style="
<div
class="table-cent"
v-else
v-for="(itcen, inde) in item.matchKeywords"
:key="inde"
>
<div
style="
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
">
<img v-if="inde == 0" style="width: 30px; height: 30px" src="/img/ranking1.png" alt="" />
<img v-else-if="inde == 1" style="width: 30px; height: 30px" src="/img/ranking2.png" alt="" />
<img v-else-if="inde == 2" style="width: 30px; height: 30px" src="/img/ranking3.png" alt="" />
"
>
<img
v-if="inde == 0"
style="width: 30px; height: 30px"
src="/img/ranking1.png"
alt=""
/>
<img
v-else-if="inde == 1"
style="width: 30px; height: 30px"
src="/img/ranking2.png"
alt=""
/>
<img
v-else-if="inde == 2"
style="width: 30px; height: 30px"
src="/img/ranking3.png"
alt=""
/>
<div v-else class="indeclass">{{ inde + 1 }}</div> <div v-else class="indeclass">{{ inde + 1 }}</div>
</div> </div>
<div v-if="index == 2"> <div v-if="index == 2">
@@ -128,22 +204,38 @@
</div> </div>
<div v-else>{{ itcen.name }}({{ itcen.total }})</div> <div v-else>{{ itcen.name }}({{ itcen.total }})</div>
<div>{{ itcen.proportion }}%</div> <div>{{ itcen.proportion }}%</div>
<div style="color: #2671e2; cursor: pointer" @click="Toview(item, inde)">
<div
style="color: #2671e2; cursor: pointer"
@click="Toview(item, inde)"
>
查看 查看
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="right"> <div class="right">
<div :id="'ids' + item.id" class="container" style="width: 400px; height: 330px; text-align: center">
<img v-if="item.total == 0" style="width: 260px; height: 260px" src="/img/Elementcircle.png" alt="" />
<div
:id="'ids' + item.id"
class="container"
style="width: 400px; height: 330px; text-align: center"
>
<img
v-if="item.total == 0"
style="width: 260px; height: 260px"
src="/img/Elementcircle.png"
alt=""
/>
</div> </div>
</div> </div>
</div> </div>
</div> </div>


<div @click="backTop()" class="backTopbox"> <div @click="backTop()" class="backTopbox">
<img class="backTop" src="http://121.42.63.138:9091/autoSR/static/images/system/images/backTop.png" alt="">
<img
class="backTop"
src="http://121.42.63.138:9091/autoSR/static/images/system/images/backTop.png"
alt=""
/>
</div> </div>
</div> </div>
</template> </template>
@@ -152,7 +244,7 @@
import * as echarts from "echarts"; import * as echarts from "echarts";
import Router from "../../router/router"; import Router from "../../router/router";


import colorTheme from "../../util/theme.color"
import colorTheme from "../../util/theme.color";
export default { export default {
data() { data() {
return { return {
@@ -173,69 +265,102 @@ export default {


efficient: "", efficient: "",
markCount: "", markCount: "",
noMarkCount: ""
noMarkCount: "",
}; };
}, },
mounted() { mounted() {
this.zkhousePage(); this.zkhousePage();

if (this.TimetoAhoose == 4) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 7;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}
}, },
methods: { methods: {
goTo(i) { goTo(i) {
if (i == 1) { if (i == 1) {
if (this.TimetoAhoose == 6) { if (this.TimetoAhoose == 6) {
Router.push(`/ReceivingRecords/index?validInvalid=0&staDate=${this.fromobj.starttime}&endDate=${this.fromobj.endoftime} 23:59:59&houseId=${this.houseId}`)
Router.push(
`/ReceivingRecords/index?validInvalid=0&staDate=${this.fromobj.starttime}&endDate=${this.fromobj.endoftime} 23:59:59&houseId=${this.houseId}`
);
} else { } else {
if (this.TimetoAhoose == 0) { if (this.TimetoAhoose == 0) {
Router.push(`/ReceivingRecords/index?validInvalid=0&dateType=0&houseId=${this.houseId}`)
Router.push(
`/ReceivingRecords/index?validInvalid=0&dateType=0&houseId=${this.houseId}`
);
} else if (this.TimetoAhoose == 4) { } else if (this.TimetoAhoose == 4) {
Router.push(`/ReceivingRecords/index?validInvalid=0&dateType=2&houseId=${this.houseId}`)
Router.push(
`/ReceivingRecords/index?validInvalid=0&dateType=2&houseId=${this.houseId}`
);
} else { } else {
Router.push(`/ReceivingRecords/index?validInvalid=0&houseId=${this.houseId}`)
Router.push(
`/ReceivingRecords/index?validInvalid=0&houseId=${this.houseId}`
);
} }
} }

} else if (i == 2) { } else if (i == 2) {
if (this.TimetoAhoose == 6) { if (this.TimetoAhoose == 6) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&staDate=${this.fromobj.starttime}&endDate=${this.fromobj.endoftime} 23:59:59&houseId=${this.houseId}`);
Router.push(
`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&staDate=${this.fromobj.starttime}&endDate=${this.fromobj.endoftime} 23:59:59&houseId=${this.houseId}`
);
} else { } else {
if (this.TimetoAhoose == 0) { if (this.TimetoAhoose == 0) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&dateType=0&houseId=${this.houseId}`)
Router.push(
`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&dateType=0&houseId=${this.houseId}`
);
} else if (this.TimetoAhoose == 4) { } else if (this.TimetoAhoose == 4) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&dateType=2&houseId=${this.houseId}`)
Router.push(
`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&dateType=2&houseId=${this.houseId}`
);
} else { } else {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&houseId=${this.houseId}`)
Router.push(
`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&houseId=${this.houseId}`
);
} }
} }

} else { } else {
if (this.TimetoAhoose == 6) { if (this.TimetoAhoose == 6) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&staDate=${this.fromobj.starttime}&endDate=${this.fromobj.endoftime} 23:59:5'&houseId=${this.houseId}`);
Router.push(
`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&staDate=${this.fromobj.starttime}&endDate=${this.fromobj.endoftime} 23:59:5'&houseId=${this.houseId}`
);
} else { } else {
if (this.TimetoAhoose == 0) { if (this.TimetoAhoose == 0) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&dateType=0&houseId=${this.houseId}`)
Router.push(
`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&dateType=0&houseId=${this.houseId}`
);
} else if (this.TimetoAhoose == 4) { } else if (this.TimetoAhoose == 4) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&dateType=2&houseId=${this.houseId}`)
Router.push(
`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&dateType=2&houseId=${this.houseId}`
);
} else { } else {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&houseId=${this.houseId}`)
Router.push(
`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&houseId=${this.houseId}`
);
} }
} }
} }
}, },
backTop() { backTop() {
$('#avue-view').scrollTop(0)
$("#avue-view").scrollTop(0);
}, },
movePlace(index) { movePlace(index) {
if (index == 0) { if (index == 0) {
return
return;
} else { } else {
var as55 = this.objlist[index - 1].id; var as55 = this.objlist[index - 1].id;
var shu = '#ids' + as55;
$('#avue-view').scrollTop(($(shu).offset().top) - 200)
var shu = "#ids" + as55;
$("#avue-view").scrollTop($(shu).offset().top - 200);
} }
}, },



houseChange() { houseChange() {
this.getorgCode(); this.getorgCode();
}, },
@@ -280,9 +405,34 @@ export default {
//切换时间 //切换时间
tabtimetap(index) { tabtimetap(index) {
this.TimetoAhoose = index; this.TimetoAhoose = index;

if (index == 4) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 7;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}

if (index == 6) {
let starTime = new Date().getTime() - 24 * 60 * 60 * 1000 * 30;
let startDate = `${new Date(starTime).getFullYear()}-${
new Date(starTime).getMonth() + 1
}-${new Date(starTime).getDate()}`;
let endTime = new Date().getTime() - 24 * 60 * 60 * 1000;
let endDate = `${new Date(endTime).getFullYear()}-${
new Date(endTime).getMonth() + 1
}-${new Date(endTime).getDate()}`;

this.customtime = [startDate, endDate];
}
this.fromobj.starttime = ""; this.fromobj.starttime = "";
this.fromobj.endoftime = ""; this.fromobj.endoftime = "";
this.customtime = [];
this.getorgCode(); this.getorgCode();
}, },
//初始化 //初始化
@@ -307,9 +457,9 @@ export default {
this.objlist = res.data.list; this.objlist = res.data.list;
this.alllist = [{ name: "有效接待", num: res.data.total }]; this.alllist = [{ name: "有效接待", num: res.data.total }];


this.efficient = res.data.total
this.markCount = res.data.markCount
this.noMarkCount = res.data.noMarkCount
this.efficient = res.data.total;
this.markCount = res.data.markCount;
this.noMarkCount = res.data.noMarkCount;


res.data.list.forEach((item, index) => { res.data.list.forEach((item, index) => {
this.alllist.push({ this.alllist.push({
@@ -395,7 +545,7 @@ export default {
width: 40px; width: 40px;
height: 40px; height: 40px;
border-radius: 50%; border-radius: 50%;
background: #D0EDFF;
background: #d0edff;
position: fixed; position: fixed;
bottom: 40px; bottom: 40px;
right: 40px; right: 40px;
@@ -550,7 +700,7 @@ export default {
display: flex; display: flex;
} }


.table-tit>div:nth-of-type(1) {
.table-tit > div:nth-of-type(1) {
width: 10%; width: 10%;
text-align: center; text-align: center;
font-size: 16px; font-size: 16px;
@@ -559,7 +709,7 @@ export default {
color: #606775; color: #606775;
} }


.table-tit>div:nth-of-type(2) {
.table-tit > div:nth-of-type(2) {
width: 40%; width: 40%;
text-align: center; text-align: center;
font-size: 16px; font-size: 16px;
@@ -568,7 +718,7 @@ export default {
color: #606775; color: #606775;
} }


.table-tit>div:nth-of-type(3) {
.table-tit > div:nth-of-type(3) {
width: 25%; width: 25%;
text-align: center; text-align: center;
font-size: 16px; font-size: 16px;
@@ -577,7 +727,7 @@ export default {
color: #606775; color: #606775;
} }


.table-tit>div:nth-of-type(4) {
.table-tit > div:nth-of-type(4) {
width: 25%; width: 25%;
text-align: center; text-align: center;
font-size: 16px; font-size: 16px;
@@ -594,7 +744,7 @@ export default {
margin-top: 18px; margin-top: 18px;
} }


.table-cent>div:nth-of-type(1) {
.table-cent > div:nth-of-type(1) {
width: 10%; width: 10%;
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
@@ -602,7 +752,7 @@ export default {
color: #32363d; color: #32363d;
} }


.table-cent>div:nth-of-type(2) {
.table-cent > div:nth-of-type(2) {
width: 40%; width: 40%;
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
@@ -610,7 +760,7 @@ export default {
color: #32363d; color: #32363d;
} }


.table-cent>div:nth-of-type(3) {
.table-cent > div:nth-of-type(3) {
width: 25%; width: 25%;
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
@@ -618,7 +768,7 @@ export default {
color: #32363d; color: #32363d;
} }


.table-cent>div:nth-of-type(4) {
.table-cent > div:nth-of-type(4) {
width: 25%; width: 25%;
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
@@ -683,8 +833,8 @@ export default {
} }
} }
} }
/deep/ .el-button--primary{
background: #2671E2 !important;
border: 1px solid #2671E2 !important;
/deep/ .el-button--primary {
background: #2671e2 !important;
border: 1px solid #2671e2 !important;
} }
</style> </style>

Loading…
Cancel
Save