@@ -373,6 +373,20 @@ export default { | |||
this.houseId = localStorage.getItem("houseId"); | |||
this.orgCode = localStorage.getItem("orgCode"); | |||
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: { | |||
getSummaries(param) { | |||
@@ -638,6 +652,31 @@ export default { | |||
//切换时间 | |||
tabtimetap(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.statDateEnd = ""; | |||
this.page = 1; | |||
@@ -52,7 +52,7 @@ | |||
</div> --> | |||
<div class="app-titel projectBackend"> | |||
<div class="titel-text">筛选日期:</div> | |||
<div style="margin-left: 14px;"> | |||
<div style="margin-left: 14px"> | |||
<el-button | |||
:class="{ 'el-button--primary': TimetoAhoose == 0 }" | |||
@click="tabtimetap(0)" | |||
@@ -70,9 +70,17 @@ | |||
> | |||
</div> | |||
<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> | |||
</div> | |||
</div> | |||
@@ -114,22 +122,30 @@ | |||
</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="zuo"> | |||
<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> | |||
</el-tooltip> | |||
</div> | |||
</div> | |||
<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-2">{{ datalistobj1.avgA }}次</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-2">{{ datalistobj1.avgB }}次</div> | |||
</div> | |||
@@ -143,11 +159,11 @@ | |||
<div class="text1">接待时长</div> | |||
</div> | |||
<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-2">{{ datalistobj2.avgA }}分钟</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-2">{{ datalistobj2.avgB }}分钟</div> | |||
</div> | |||
@@ -180,11 +196,11 @@ | |||
</div> | |||
</div> | |||
<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-2">{{ datalistobj3.avgA }}%</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-2">{{ datalistobj3.avgB }}%</div> | |||
</div> | |||
@@ -198,26 +214,43 @@ | |||
<div class="text1">销讲能力雷达图</div> | |||
</div> | |||
<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-2"> </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> | |||
<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 class="app-box-san"> | |||
<div class="zuo"> | |||
<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> | |||
</el-tooltip> | |||
</div> | |||
@@ -239,11 +272,11 @@ | |||
</div> | |||
</div> | |||
<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-2">{{ datalistobj5.avgA }}次</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-2">{{ datalistobj5.avgB }}次</div> | |||
</div> | |||
@@ -257,19 +290,30 @@ | |||
<div class="text1">违禁话术雷达图</div> | |||
</div> | |||
<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-2"> </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 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> | |||
<!-- 表格 --> | |||
@@ -287,44 +331,58 @@ | |||
style="margin-left: auto; margin-right: 10px" | |||
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 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 | |||
v-if="tabFlag == 1" | |||
prop="receivableEquipmentCount" | |||
@@ -338,18 +396,18 @@ | |||
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 | |||
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" | |||
@@ -363,40 +421,42 @@ | |||
</el-table-column> | |||
<el-table-column prop="remark" v-if="tabFlag == 1" label="...执行性次数" align="center"> | |||
</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> | |||
@@ -404,7 +464,9 @@ | |||
<div v-else class="noData"> | |||
<div class="imgboxc"> | |||
<!-- <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> | |||
@@ -415,7 +477,7 @@ import * as echarts from "echarts"; | |||
import { mapGetters } from "vuex"; | |||
import { exportMethodPost } from "@/util/util"; | |||
import colorTheme from "../../util/theme.color" | |||
import colorTheme from "../../util/theme.color"; | |||
import color from "../../mixins/color"; | |||
export default { | |||
data() { | |||
@@ -480,8 +542,8 @@ export default { | |||
tablist: [], | |||
houseList: [], | |||
role: "", | |||
data6flag:true, | |||
data4flag:true | |||
data6flag: true, | |||
data4flag: true, | |||
}; | |||
}, | |||
computed: { | |||
@@ -498,6 +560,19 @@ export default { | |||
} else { | |||
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: { | |||
downLoad() { | |||
@@ -508,7 +583,11 @@ export default { | |||
accountId: this.consultantlistid, | |||
dateType: this.TimetoAhoose == 7 ? null : this.TimetoAhoose, | |||
}; | |||
exportMethodPost('autoSR/cusStageStatistics/prohibitedStatisticsExport','顾问能力',obj) | |||
exportMethodPost( | |||
"autoSR/cusStageStatistics/prohibitedStatisticsExport", | |||
"顾问能力", | |||
obj | |||
); | |||
}, | |||
init() { | |||
this.getAccount(); | |||
@@ -782,7 +861,7 @@ export default { | |||
pamaet.dateType = this.TimetoAhoose; | |||
} | |||
this.$api.http.accountData(pamaet).then((res) => { | |||
console.log(res.data,'数据'); | |||
console.log(res.data, "数据"); | |||
this.datalistobj6 = { | |||
listA: res.data.listA || [], | |||
listB: res.data.listB || [], | |||
@@ -884,8 +963,8 @@ export default { | |||
let list = res.data || []; | |||
if (list.length == 0) { | |||
this.consultantlist = list | |||
this.consultantlistid='' | |||
this.consultantlist = list; | |||
this.consultantlistid = ""; | |||
this.datalistobj1 = { | |||
avgA: "", | |||
avgB: "", | |||
@@ -970,12 +1049,12 @@ export default { | |||
legend: { | |||
data: [this.consultantname, this.Packname], | |||
top: "6", | |||
icon:"roundRect" | |||
icon: "roundRect", | |||
}, | |||
grid: { | |||
left: 10, | |||
right: 10, | |||
bottom:18, | |||
bottom: 18, | |||
containLabel: true, | |||
}, | |||
@@ -1003,15 +1082,12 @@ export default { | |||
type: "line", | |||
smooth: true, | |||
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, | |||
@@ -1019,15 +1095,12 @@ export default { | |||
type: "line", | |||
smooth: true, | |||
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], | |||
right: "10", | |||
top: "10", | |||
icon:"roundRect" | |||
icon: "roundRect", | |||
}, | |||
color: ["#2671E2", "#F3787B"], | |||
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(); | |||
console.log(this[data1+'flag']); | |||
console.log(this[data1 + "flag"]); | |||
} | |||
}, | |||
handleCurrentChange(e) { | |||
this.current = e; | |||
@@ -1195,8 +1266,34 @@ export default { | |||
//切换时间 | |||
tabtimetap(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.statDateEnd = ""; | |||
this.init(); | |||
}, | |||
tabFlagChange(idx) { | |||
@@ -1263,7 +1360,7 @@ export default { | |||
.app-top { | |||
// width: 100%; | |||
width: calc(100% - 270px); | |||
position: fixed; | |||
position: fixed; | |||
z-index: 999; | |||
margin-top: -16px; | |||
background: #ffffff; | |||
@@ -1327,8 +1424,8 @@ export default { | |||
font-weight: 500; | |||
font-size: 16px; | |||
color: #333333; | |||
display: flex; | |||
align-items: center; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.text2 { | |||
flex: 1; | |||
@@ -1356,8 +1453,8 @@ export default { | |||
font-weight: 500; | |||
font-size: 16px; | |||
color: #333333; | |||
display: flex; | |||
align-items: center; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.text2 { | |||
flex: 1; | |||
@@ -1440,40 +1537,40 @@ export default { | |||
margin-left: 15px; | |||
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; | |||
color: #999999; | |||
} | |||
/deep/ .el-table__header-wrapper{ | |||
thead{ | |||
tr{ | |||
th{ | |||
background: #F5F7FA; | |||
/deep/ .el-table__header-wrapper { | |||
thead { | |||
tr { | |||
th { | |||
background: #f5f7fa; | |||
color: #333333; | |||
} | |||
} | |||
} | |||
} | |||
.pop{ | |||
.pop { | |||
display: inline-block; | |||
width: 18px; | |||
height: 18px; | |||
background: url('../../../public/img/pop.png') no-repeat; | |||
background: url("../../../public/img/pop.png") no-repeat; | |||
background-size: 100%; | |||
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> |
@@ -772,6 +772,19 @@ export default { | |||
} else { | |||
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: { | |||
// 选项卡切换事件 | |||
@@ -1661,9 +1674,35 @@ export default { | |||
//时间选择 | |||
tabtimetap(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.statDateEnd = ""; | |||
this.customtime = []; | |||
this.overviewreceptionOverview(); | |||
this.overviewreceptionData(); | |||
this.overviewteamOrAccountSellingTrends(); | |||
@@ -5,8 +5,18 @@ | |||
<div class="app-titel" v-if="role != 3" style="margin-bottom: 10px"> | |||
<div class="titel-text">项目选择:</div> | |||
<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-select> | |||
</div> | |||
@@ -37,7 +47,7 @@ | |||
</div> --> | |||
<div class="app-titel projectBackend"> | |||
<div class="titel-text">筛选日期:</div> | |||
<div style="margin-left: 14px;"> | |||
<div style="margin-left: 14px"> | |||
<el-button | |||
:class="{ 'el-button--primary': TimetoAhoose == 0 }" | |||
@click="tabtimetap(0)" | |||
@@ -55,20 +65,35 @@ | |||
> | |||
</div> | |||
<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> | |||
</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"> | |||
<table> | |||
<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 }} | |||
</td> | |||
</tr> | |||
@@ -88,7 +113,11 @@ | |||
</td> | |||
<td class="theadtd">{{ item.fraction || 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 }}% | |||
</td> | |||
</tr> | |||
@@ -100,42 +129,97 @@ | |||
<div class="app-box-san"> | |||
<div class="zuo"> | |||
<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> | |||
</el-tooltip> | |||
</div> | |||
</div> | |||
<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-2">{{ teamobj1.num || 0 }}个</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-2">{{ teamobj1.avg || 0 }}个</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="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"> | |||
<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> | |||
</el-tooltip> | |||
</div> | |||
<div class="jinbox-box"> | |||
<!-- <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 class="jinboxbott">{{ item.zxl }}个</div> | |||
</div> | |||
@@ -143,7 +227,7 @@ | |||
<div class="nulllist" v-if="teamobj1.list.length == 0"> | |||
<div class="imgboxc"> | |||
<!-- <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> | |||
@@ -152,39 +236,90 @@ | |||
<div class="text1">接待时长排名</div> | |||
</div> | |||
<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-2">{{ teamobj2.num || 0 }}个</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-2"> | |||
{{ Math.floor(teamobj2.avg / 60) || 0 }}分钟 | |||
</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="jinboxtit">{{ item.name }}</div> | |||
<div class="jinbox-box"> | |||
<div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></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"> | |||
<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> | |||
</el-tooltip> | |||
</div> | |||
<div class="jinbox-box"> | |||
<!-- <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 class="jinboxbott">{{ item.zxl }}分钟</div> | |||
</div> | |||
@@ -192,7 +327,7 @@ | |||
<div class="nulllist" v-if="teamobj2.list.length == 0"> | |||
<div class="imgboxc"> | |||
<!-- <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> | |||
@@ -203,42 +338,101 @@ | |||
<div class="title"> | |||
<div class="text1">销讲执行率</div> | |||
<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-select> | |||
</div> | |||
</div> | |||
<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-2">{{ teamobj3.num || 0 }}个</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-2">{{ teamobj3.avg || 0 }}%</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"> | |||
<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"> | |||
<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> | |||
</el-tooltip> | |||
</div> | |||
<div class="jinbox-box"> | |||
<!-- <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 class="jinboxbott">{{ item.zxl }}%</div> | |||
</div> | |||
@@ -246,7 +440,7 @@ | |||
<div class="nulllist" v-if="teamobj3.list.length == 0"> | |||
<div class="imgboxc"> | |||
<!-- <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> | |||
@@ -254,11 +448,15 @@ | |||
<div class="title"> | |||
<div class="text1">销讲能力雷达图</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="imgboxc"> | |||
<!-- <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> | |||
@@ -267,52 +465,116 @@ | |||
<div class="app-box-san"> | |||
<div class="zuo"> | |||
<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> | |||
</el-tooltip> | |||
</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-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: 50%;text-align: center;"> | |||
<div class="sanbox1" style="width: 50%; text-align: center"> | |||
<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%; text-align: center"> | |||
<div class="text1-1">均值</div> | |||
<div class="text1-2">{{ teamobj5.avg || 0 }}次</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="jinboxtit">{{ item.name }}</div> | |||
<div class="jinbox-box"> | |||
<div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></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"> | |||
<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> | |||
</el-tooltip> | |||
</div> | |||
<div class="jinbox-box"> | |||
<!-- <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 class="jinboxbott">{{ item.zxl }}次</div> | |||
</div> | |||
@@ -320,7 +582,7 @@ | |||
<div class="nulllist" v-if="teamobj5.list.length == 0"> | |||
<div class="imgboxc"> | |||
<!-- <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> | |||
@@ -328,16 +590,19 @@ | |||
<div class="title"> | |||
<div class="text1">违禁话术雷达图</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="imgboxc"> | |||
<!-- <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> | |||
</template> | |||
@@ -400,6 +665,18 @@ export default { | |||
} else { | |||
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: { | |||
downLoad() { | |||
@@ -762,7 +1039,7 @@ export default { | |||
data: namelist, | |||
right: "10", | |||
top: "10", | |||
icon:"roundRect" | |||
icon: "roundRect", | |||
}, | |||
color: ["#2671E2", "#F3787B"], | |||
radar: { | |||
@@ -826,7 +1103,7 @@ export default { | |||
data: namelist, | |||
right: "10", | |||
top: "10", | |||
icon:"roundRect" | |||
icon: "roundRect", | |||
}, | |||
color: ["#2671E2", "#F3787B"], | |||
radar: { | |||
@@ -900,9 +1177,34 @@ export default { | |||
//切换时间 | |||
tabtimetap(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.statDateEnd = ""; | |||
this.customtime = []; | |||
this.allhttp(); | |||
}, | |||
dealData(arr) { | |||
@@ -1035,8 +1337,8 @@ tbody tr { | |||
font-weight: 500; | |||
font-size: 16px; | |||
color: #333333; | |||
display: flex; | |||
align-items: center; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.text2 { | |||
@@ -1067,8 +1369,8 @@ tbody tr { | |||
font-weight: 500; | |||
font-size: 16px; | |||
color: #333333; | |||
display: flex; | |||
align-items: center; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.text2 { | |||
@@ -1156,7 +1458,7 @@ tbody tr { | |||
.theadtd { | |||
width: 140px; | |||
height: 48px; | |||
border-bottom: 1px solid #E0E0E0; | |||
border-bottom: 1px solid #e0e0e0; | |||
text-align: center; | |||
line-height: 48px; | |||
font-size: 16px; | |||
@@ -1167,26 +1469,26 @@ tbody tr { | |||
flex: 1; | |||
} | |||
.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; | |||
width: 18px; | |||
height: 18px; | |||
background: url('../../../public/img/pop.png') no-repeat; | |||
background: url("../../../public/img/pop.png") no-repeat; | |||
background-size: 100%; | |||
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> |
@@ -1,21 +1,30 @@ | |||
<template> | |||
<div class="box-center" ref="boxcenter" style="cursor:pointer;"> | |||
<div class="box-center" ref="boxcenter" style="cursor: pointer"> | |||
<!-- 头 --> | |||
<div class="app-top"> | |||
<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"> | |||
<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-select> | |||
</div> | |||
</div> | |||
<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> | |||
@@ -42,27 +51,60 @@ | |||
> | |||
</div> | |||
<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> | |||
</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> | |||
</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> | |||
</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> | |||
</el-card> | |||
</div> | |||
@@ -70,20 +112,29 @@ | |||
<div class="app-box"> | |||
<div class="conbox">客群特征总览</div> | |||
<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.num }}</div> | |||
</div> | |||
</div> | |||
<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="" /> --> | |||
<div class="nulltext" style="font-size:14px;">暂无数据</div> | |||
<div class="nulltext" style="font-size: 14px">暂无数据</div> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -100,24 +151,49 @@ | |||
<div>触达占比</div> | |||
<div>沟通记录</div> | |||
</div> | |||
<div v-if="item.total == 0" style=" | |||
<div | |||
v-if="item.total == 0" | |||
style=" | |||
width: 100%; | |||
line-height: 300px; | |||
text-align: center; | |||
color: #999999; | |||
font-size: 14px; | |||
"> | |||
" | |||
> | |||
暂无数据 | |||
</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; | |||
align-items: 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> | |||
<div v-if="index == 2"> | |||
@@ -128,22 +204,38 @@ | |||
</div> | |||
<div v-else>{{ itcen.name }}({{ itcen.total }})</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 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 @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> | |||
</template> | |||
@@ -152,7 +244,7 @@ | |||
import * as echarts from "echarts"; | |||
import Router from "../../router/router"; | |||
import colorTheme from "../../util/theme.color" | |||
import colorTheme from "../../util/theme.color"; | |||
export default { | |||
data() { | |||
return { | |||
@@ -173,69 +265,102 @@ export default { | |||
efficient: "", | |||
markCount: "", | |||
noMarkCount: "" | |||
noMarkCount: "", | |||
}; | |||
}, | |||
mounted() { | |||
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: { | |||
goTo(i) { | |||
if (i == 1) { | |||
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 { | |||
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) { | |||
Router.push(`/ReceivingRecords/index?validInvalid=0&dateType=2&houseId=${this.houseId}`) | |||
Router.push( | |||
`/ReceivingRecords/index?validInvalid=0&dateType=2&houseId=${this.houseId}` | |||
); | |||
} else { | |||
Router.push(`/ReceivingRecords/index?validInvalid=0&houseId=${this.houseId}`) | |||
Router.push( | |||
`/ReceivingRecords/index?validInvalid=0&houseId=${this.houseId}` | |||
); | |||
} | |||
} | |||
} else if (i == 2) { | |||
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 { | |||
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) { | |||
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 { | |||
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&houseId=${this.houseId}`) | |||
Router.push( | |||
`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&houseId=${this.houseId}` | |||
); | |||
} | |||
} | |||
} else { | |||
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 { | |||
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) { | |||
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 { | |||
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&houseId=${this.houseId}`) | |||
Router.push( | |||
`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&houseId=${this.houseId}` | |||
); | |||
} | |||
} | |||
} | |||
}, | |||
backTop() { | |||
$('#avue-view').scrollTop(0) | |||
$("#avue-view").scrollTop(0); | |||
}, | |||
movePlace(index) { | |||
if (index == 0) { | |||
return | |||
return; | |||
} else { | |||
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() { | |||
this.getorgCode(); | |||
}, | |||
@@ -280,9 +405,34 @@ export default { | |||
//切换时间 | |||
tabtimetap(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.endoftime = ""; | |||
this.customtime = []; | |||
this.getorgCode(); | |||
}, | |||
//初始化 | |||
@@ -307,9 +457,9 @@ export default { | |||
this.objlist = res.data.list; | |||
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) => { | |||
this.alllist.push({ | |||
@@ -395,7 +545,7 @@ export default { | |||
width: 40px; | |||
height: 40px; | |||
border-radius: 50%; | |||
background: #D0EDFF; | |||
background: #d0edff; | |||
position: fixed; | |||
bottom: 40px; | |||
right: 40px; | |||
@@ -550,7 +700,7 @@ export default { | |||
display: flex; | |||
} | |||
.table-tit>div:nth-of-type(1) { | |||
.table-tit > div:nth-of-type(1) { | |||
width: 10%; | |||
text-align: center; | |||
font-size: 16px; | |||
@@ -559,7 +709,7 @@ export default { | |||
color: #606775; | |||
} | |||
.table-tit>div:nth-of-type(2) { | |||
.table-tit > div:nth-of-type(2) { | |||
width: 40%; | |||
text-align: center; | |||
font-size: 16px; | |||
@@ -568,7 +718,7 @@ export default { | |||
color: #606775; | |||
} | |||
.table-tit>div:nth-of-type(3) { | |||
.table-tit > div:nth-of-type(3) { | |||
width: 25%; | |||
text-align: center; | |||
font-size: 16px; | |||
@@ -577,7 +727,7 @@ export default { | |||
color: #606775; | |||
} | |||
.table-tit>div:nth-of-type(4) { | |||
.table-tit > div:nth-of-type(4) { | |||
width: 25%; | |||
text-align: center; | |||
font-size: 16px; | |||
@@ -594,7 +744,7 @@ export default { | |||
margin-top: 18px; | |||
} | |||
.table-cent>div:nth-of-type(1) { | |||
.table-cent > div:nth-of-type(1) { | |||
width: 10%; | |||
text-align: center; | |||
font-size: 14px; | |||
@@ -602,7 +752,7 @@ export default { | |||
color: #32363d; | |||
} | |||
.table-cent>div:nth-of-type(2) { | |||
.table-cent > div:nth-of-type(2) { | |||
width: 40%; | |||
text-align: center; | |||
font-size: 14px; | |||
@@ -610,7 +760,7 @@ export default { | |||
color: #32363d; | |||
} | |||
.table-cent>div:nth-of-type(3) { | |||
.table-cent > div:nth-of-type(3) { | |||
width: 25%; | |||
text-align: center; | |||
font-size: 14px; | |||
@@ -618,7 +768,7 @@ export default { | |||
color: #32363d; | |||
} | |||
.table-cent>div:nth-of-type(4) { | |||
.table-cent > div:nth-of-type(4) { | |||
width: 25%; | |||
text-align: center; | |||
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> |