|
|
@@ -623,7 +623,7 @@ |
|
|
|
|
|
|
|
<div class="item-item"> |
|
|
|
<titles title="到期项目"></titles> |
|
|
|
<div class="scro" style="min-height: 330px;"> |
|
|
|
<div class="scro" style="min-height: 330px"> |
|
|
|
<el-table |
|
|
|
:data="overdueProject" |
|
|
|
:style="{ background: '#0B1F53', border: 'none' }" |
|
|
@@ -699,7 +699,7 @@ |
|
|
|
<div |
|
|
|
class="ibox-item" |
|
|
|
v-for="(data, index) in jiedaiLists" |
|
|
|
@click="showDialog(data)" |
|
|
|
@click="showDialogs(data)" |
|
|
|
:key="data.bgImg + index" |
|
|
|
:style="{ |
|
|
|
background: `url(${data.bgImg}) no-repeat`, |
|
|
@@ -778,16 +778,27 @@ |
|
|
|
|
|
|
|
<div class="item-item"> |
|
|
|
<titles title="录音完整率趋势"></titles> |
|
|
|
<div class="echarts" style="height: 330px;" id="fullRecordTendency"></div> |
|
|
|
<div |
|
|
|
class="echarts" |
|
|
|
style="height: 330px" |
|
|
|
key="fullRecordTendency" |
|
|
|
id="fullRecordTendency" |
|
|
|
></div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="item-item"> |
|
|
|
<titles title="不完整录音原因分布"></titles> |
|
|
|
<titles title="不完整录音原因分布"> |
|
|
|
<!-- headDistribution --> |
|
|
|
<el-line>项目分布</el-line> |
|
|
|
</titles> |
|
|
|
<div class="echarts" id="notFullRecordDistribute"></div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="item-item"> |
|
|
|
<titles title="离线原因分布"></titles> |
|
|
|
<titles title="离线原因分布"> |
|
|
|
<!-- headOffline --> |
|
|
|
<el-line>项目分布</el-line> |
|
|
|
</titles> |
|
|
|
<div class="echarts" id="offLineReasonDistribute"></div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@@ -963,7 +974,6 @@ |
|
|
|
v-model="data.dataStatus" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
@change="changeCompany" |
|
|
|
:popper-append-to-body="false" |
|
|
|
> |
|
|
|
<el-option |
|
|
@@ -981,7 +991,6 @@ |
|
|
|
v-model="data.symbolStatus" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
@change="changeCompany" |
|
|
|
:popper-append-to-body="false" |
|
|
|
> |
|
|
|
<el-option |
|
|
@@ -1007,7 +1016,6 @@ |
|
|
|
v-model="data.warningStatus" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
@change="changeCompany" |
|
|
|
:popper-append-to-body="false" |
|
|
|
> |
|
|
|
<el-option |
|
|
@@ -1027,7 +1035,6 @@ |
|
|
|
v-model="data.jobTime" |
|
|
|
placeholder="请选择时间" |
|
|
|
filterable |
|
|
|
@change="changeCompany" |
|
|
|
:popper-append-to-body="false" |
|
|
|
> |
|
|
|
<el-option |
|
|
@@ -1066,7 +1073,6 @@ |
|
|
|
v-model="data.dataStatus" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
@change="changeCompany" |
|
|
|
:popper-append-to-body="false" |
|
|
|
> |
|
|
|
<el-option |
|
|
@@ -1085,7 +1091,6 @@ |
|
|
|
v-model="data.contrastStatus" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
@change="changeCompany" |
|
|
|
:popper-append-to-body="false" |
|
|
|
> |
|
|
|
<el-option |
|
|
@@ -1103,7 +1108,6 @@ |
|
|
|
v-model="data.upOrDown" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
@change="changeCompany" |
|
|
|
:popper-append-to-body="false" |
|
|
|
> |
|
|
|
<el-option |
|
|
@@ -1405,13 +1409,7 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
formatLineDatasLine() { |
|
|
|
|
|
|
|
let arr1 = [ |
|
|
|
{ |
|
|
|
name: "录音完整率", |
|
|
|
params: "fullRate", |
|
|
|
}, |
|
|
|
]; |
|
|
|
let ars = []; |
|
|
|
let obj1 = { |
|
|
|
id: "fullRecordTendency", |
|
|
|
xAxis: [], |
|
|
@@ -1419,60 +1417,58 @@ export default { |
|
|
|
series: [], |
|
|
|
max: 100, |
|
|
|
}; |
|
|
|
arr1.forEach((item, index) => { |
|
|
|
let par = { |
|
|
|
// 折线图的样式 |
|
|
|
smooth: true, |
|
|
|
name: item.name, |
|
|
|
type: "line", |
|
|
|
areaStyle: { |
|
|
|
normal: { |
|
|
|
color: new echarts.graphic.LinearGradient( |
|
|
|
0, |
|
|
|
0, |
|
|
|
1, |
|
|
|
1, |
|
|
|
this.lineColorLinear(index), |
|
|
|
false |
|
|
|
), |
|
|
|
shadowColor: "rgba(44,118,222, 0.1)", |
|
|
|
shadowBlur: 10, |
|
|
|
}, |
|
|
|
let par = { |
|
|
|
// 折线图的样式 |
|
|
|
smooth: true, |
|
|
|
name: "录音完整率", |
|
|
|
type: "line", |
|
|
|
areaStyle: { |
|
|
|
normal: { |
|
|
|
color: new echarts.graphic.LinearGradient( |
|
|
|
0, |
|
|
|
0, |
|
|
|
1, |
|
|
|
1, |
|
|
|
this.lineColorLinear(0), |
|
|
|
false |
|
|
|
), |
|
|
|
shadowColor: "rgba(44,118,222, 0.1)", |
|
|
|
shadowBlur: 10, |
|
|
|
}, |
|
|
|
itemStyle: { |
|
|
|
normal: { |
|
|
|
color: { |
|
|
|
type: "linear", // 线性渐变 |
|
|
|
x: 0, |
|
|
|
y: 0, |
|
|
|
x2: 1, |
|
|
|
y2: 1, |
|
|
|
colorStops: this.lineColorLinear(index), |
|
|
|
}, |
|
|
|
}, |
|
|
|
itemStyle: { |
|
|
|
normal: { |
|
|
|
color: { |
|
|
|
type: "linear", // 线性渐变 |
|
|
|
x: 0, |
|
|
|
y: 0, |
|
|
|
x2: 1, |
|
|
|
y2: 1, |
|
|
|
colorStops: this.lineColorLinear(0), |
|
|
|
}, |
|
|
|
}, |
|
|
|
data: [], |
|
|
|
}; |
|
|
|
this.fullRecordTendency.forEach((org) => { |
|
|
|
par.data.push(org[item.params] || 0); |
|
|
|
if (!obj1.xAxis.includes(org.date.split(" ")[0])) { |
|
|
|
obj1.xAxis.push(org.date.split(" ")[0]); |
|
|
|
} |
|
|
|
}, |
|
|
|
data: [], |
|
|
|
}; |
|
|
|
this.fullRecordTendency.forEach((org) => { |
|
|
|
par.data.push(org["fullRate"] || 0); |
|
|
|
|
|
|
|
if (!obj1.legend.includes(item.name)) { |
|
|
|
obj1.legend.push(item.name); |
|
|
|
} |
|
|
|
}); |
|
|
|
this.receptionList.push(par); |
|
|
|
if (!obj1.xAxis.includes(org.date.split(" ")[0])) { |
|
|
|
obj1.xAxis.push(org.date.split(" ")[0]); |
|
|
|
} |
|
|
|
|
|
|
|
if (!obj1.legend.includes(par.name)) { |
|
|
|
obj1.legend.push(par.name); |
|
|
|
} |
|
|
|
}); |
|
|
|
ars.push(par); |
|
|
|
|
|
|
|
obj1.series = this.receptionList; |
|
|
|
console.log(obj1, "这里是"); |
|
|
|
obj1.series = ars; |
|
|
|
console.log(obj1, "这里是123"); |
|
|
|
|
|
|
|
this.$nextTick(() => { |
|
|
|
this.creatLine(obj1); |
|
|
|
}); |
|
|
|
|
|
|
|
}, |
|
|
|
// 设备监控中心左 |
|
|
|
biEquipmentMonitoringLeft() { |
|
|
@@ -1516,7 +1512,7 @@ export default { |
|
|
|
this.$nextTick(() => { |
|
|
|
this.buildNotFull(); |
|
|
|
this.buildOffLine(); |
|
|
|
this.formatLineDatasLine() |
|
|
|
this.formatLineDatasLine(); |
|
|
|
}); |
|
|
|
} |
|
|
|
}); |
|
|
@@ -1544,7 +1540,7 @@ export default { |
|
|
|
}, |
|
|
|
series: [ |
|
|
|
{ |
|
|
|
name: "项目服务期分析", |
|
|
|
name: "", |
|
|
|
type: "pie", |
|
|
|
radius: ["45%", "60%"], |
|
|
|
labelLine: { |
|
|
@@ -1707,12 +1703,7 @@ export default { |
|
|
|
|
|
|
|
// 处理折线统计图的数据 |
|
|
|
formatLineDatas() { |
|
|
|
let arr1 = [ |
|
|
|
{ |
|
|
|
name: "录音开启率", |
|
|
|
params: "recordOpenRate", |
|
|
|
}, |
|
|
|
]; |
|
|
|
let arr1 = []; |
|
|
|
let obj1 = { |
|
|
|
id: "RecordingOpeningRateTrend", |
|
|
|
xAxis: [], |
|
|
@@ -1720,57 +1711,50 @@ export default { |
|
|
|
series: [], |
|
|
|
max: 100, |
|
|
|
}; |
|
|
|
arr1.forEach((item, index) => { |
|
|
|
let par = { |
|
|
|
// 折线图的样式 |
|
|
|
smooth: true, |
|
|
|
name: item.name, |
|
|
|
type: "line", |
|
|
|
areaStyle: { |
|
|
|
normal: { |
|
|
|
color: new echarts.graphic.LinearGradient( |
|
|
|
0, |
|
|
|
0, |
|
|
|
1, |
|
|
|
1, |
|
|
|
this.lineColorLinear(index), |
|
|
|
false |
|
|
|
), |
|
|
|
shadowColor: "rgba(44,118,222, 0.1)", |
|
|
|
shadowBlur: 10, |
|
|
|
}, |
|
|
|
let par = { |
|
|
|
// 折线图的样式 |
|
|
|
smooth: true, |
|
|
|
name: "录音开启率", |
|
|
|
type: "line", |
|
|
|
areaStyle: { |
|
|
|
normal: { |
|
|
|
color: new echarts.graphic.LinearGradient( |
|
|
|
0, |
|
|
|
0, |
|
|
|
1, |
|
|
|
1, |
|
|
|
this.lineColorLinear(0), |
|
|
|
false |
|
|
|
), |
|
|
|
shadowColor: "rgba(44,118,222, 0.1)", |
|
|
|
shadowBlur: 10, |
|
|
|
}, |
|
|
|
itemStyle: { |
|
|
|
normal: { |
|
|
|
color: { |
|
|
|
type: "linear", // 线性渐变 |
|
|
|
x: 0, |
|
|
|
y: 0, |
|
|
|
x2: 1, |
|
|
|
y2: 1, |
|
|
|
colorStops: this.lineColorLinear(index), |
|
|
|
}, |
|
|
|
}, |
|
|
|
itemStyle: { |
|
|
|
normal: { |
|
|
|
color: { |
|
|
|
type: "linear", // 线性渐变 |
|
|
|
x: 0, |
|
|
|
y: 0, |
|
|
|
x2: 1, |
|
|
|
y2: 1, |
|
|
|
colorStops: this.lineColorLinear(0), |
|
|
|
}, |
|
|
|
}, |
|
|
|
data: [], |
|
|
|
}; |
|
|
|
this.equipmentMonitoringCenter.forEach((org) => { |
|
|
|
par.data.push(org[item.params] || 0); |
|
|
|
}, |
|
|
|
data: [], |
|
|
|
}; |
|
|
|
this.equipmentMonitoringCenter.forEach((org) => { |
|
|
|
par.data.push(org["recordOpenRate"] || 0); |
|
|
|
|
|
|
|
obj1.xAxis.push(org.date); |
|
|
|
obj1.xAxis.push(org.date); |
|
|
|
|
|
|
|
if (!obj1.legend.includes(item.name)) { |
|
|
|
obj1.legend.push(item.name); |
|
|
|
} |
|
|
|
}); |
|
|
|
this.receptionList.push(par); |
|
|
|
if (!obj1.legend.includes(par.name)) { |
|
|
|
obj1.legend.push(par.name); |
|
|
|
} |
|
|
|
}); |
|
|
|
let arr2 = [ |
|
|
|
{ |
|
|
|
name: "平均开启时长", |
|
|
|
params: "openActionTime", |
|
|
|
}, |
|
|
|
]; |
|
|
|
arr1.push(par); |
|
|
|
let arr2 = []; |
|
|
|
|
|
|
|
let obj2 = { |
|
|
|
id: "AverageOpeningTime", |
|
|
@@ -1779,63 +1763,60 @@ export default { |
|
|
|
series: [], |
|
|
|
}; |
|
|
|
|
|
|
|
arr2.forEach((item, index) => { |
|
|
|
let par = { |
|
|
|
// 折线图的样式 |
|
|
|
smooth: true, |
|
|
|
name: item.name, |
|
|
|
type: "line", |
|
|
|
areaStyle: { |
|
|
|
normal: { |
|
|
|
color: new echarts.graphic.LinearGradient( |
|
|
|
0, |
|
|
|
0, |
|
|
|
1, |
|
|
|
1, |
|
|
|
this.lineColorLinear(index), |
|
|
|
false |
|
|
|
), |
|
|
|
shadowColor: "rgba(44,118,222, 0.1)", |
|
|
|
shadowBlur: 10, |
|
|
|
}, |
|
|
|
let par1 = { |
|
|
|
// 折线图的样式 |
|
|
|
smooth: true, |
|
|
|
name: "平均开启时长", |
|
|
|
type: "line", |
|
|
|
areaStyle: { |
|
|
|
normal: { |
|
|
|
color: new echarts.graphic.LinearGradient( |
|
|
|
0, |
|
|
|
0, |
|
|
|
1, |
|
|
|
1, |
|
|
|
this.lineColorLinear(0), |
|
|
|
false |
|
|
|
), |
|
|
|
shadowColor: "rgba(44,118,222, 0.1)", |
|
|
|
shadowBlur: 10, |
|
|
|
}, |
|
|
|
itemStyle: { |
|
|
|
normal: { |
|
|
|
color: { |
|
|
|
type: "linear", // 线性渐变 |
|
|
|
x: 0, |
|
|
|
y: 0, |
|
|
|
x2: 1, |
|
|
|
y2: 1, |
|
|
|
colorStops: this.lineColorLinear(index), |
|
|
|
}, |
|
|
|
}, |
|
|
|
itemStyle: { |
|
|
|
normal: { |
|
|
|
color: { |
|
|
|
type: "linear", // 线性渐变 |
|
|
|
x: 0, |
|
|
|
y: 0, |
|
|
|
x2: 1, |
|
|
|
y2: 1, |
|
|
|
colorStops: this.lineColorLinear(0), |
|
|
|
}, |
|
|
|
}, |
|
|
|
data: [], |
|
|
|
}; |
|
|
|
|
|
|
|
this.equipmentMonitoringCenter.forEach((org) => { |
|
|
|
par.data.push(org[item.params] || 0); |
|
|
|
}, |
|
|
|
data: [], |
|
|
|
}; |
|
|
|
|
|
|
|
obj2.xAxis.push(org.date); |
|
|
|
this.equipmentMonitoringCenter.forEach((org) => { |
|
|
|
par.data.push(org["openActionTime"] || 0); |
|
|
|
|
|
|
|
if (!obj2.legend.includes(item.name)) { |
|
|
|
obj2.legend.push(item.name); |
|
|
|
} |
|
|
|
}); |
|
|
|
obj2.xAxis.push(org.date); |
|
|
|
|
|
|
|
this.salesExecution.push(par); |
|
|
|
if (!obj2.legend.includes(par1.name)) { |
|
|
|
obj2.legend.push(par1.name); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
obj1.series = this.receptionList; |
|
|
|
obj2.series = this.salesExecution; |
|
|
|
arr2.push(par1); |
|
|
|
|
|
|
|
obj1.series = arr1; |
|
|
|
obj2.series = arr2; |
|
|
|
console.log(obj1, "这里是"); |
|
|
|
|
|
|
|
this.$nextTick(() => { |
|
|
|
this.creatLine(obj1); |
|
|
|
this.creatLine(obj2); |
|
|
|
}); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
// 违禁预警消息列表 |
|
|
@@ -2323,6 +2304,7 @@ export default { |
|
|
|
this.$api.http.biTendencyDataContrast(params).then((res) => { |
|
|
|
if (res.code == 10000) { |
|
|
|
this.allTrendData = res.data; |
|
|
|
console.log(this.allTrendData); |
|
|
|
this.formatTendency(this.allTrendData); // 格式化数据 |
|
|
|
|
|
|
|
this.formatReception(); |
|
|
@@ -2463,6 +2445,8 @@ export default { |
|
|
|
returnA: [], |
|
|
|
returnB: [], |
|
|
|
series: [], |
|
|
|
max: 100, |
|
|
|
|
|
|
|
grid: { |
|
|
|
top: "10%", |
|
|
|
bottom: "25%", |
|
|
@@ -2483,7 +2467,7 @@ export default { |
|
|
|
|
|
|
|
// 获取对比纬度的数据名称 |
|
|
|
let getNames = |
|
|
|
this.ReceptionTrendsList[this.ReceptionTrendsListIndex].params; |
|
|
|
this.SalesExecutionTrendsList[this.SalesExecutionTrendsListIndex].params; |
|
|
|
|
|
|
|
// 选中时间的数据 |
|
|
|
res.tendencyData.forEach((item) => { |
|
|
@@ -2850,6 +2834,8 @@ export default { |
|
|
|
this.dialogVisible = false; |
|
|
|
this.current = 1; |
|
|
|
this.size = 10; |
|
|
|
this.tableData = []; // 清空数据 |
|
|
|
this.showDialogData = this.$options.data().showDialogData; |
|
|
|
}, |
|
|
|
|
|
|
|
// 弹窗展示 |
|
|
@@ -2877,6 +2863,31 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
// 弹窗展示 |
|
|
|
showDialogs(data) { |
|
|
|
this.showDialogData = data; |
|
|
|
const params = { |
|
|
|
dataType: data.dataType, |
|
|
|
dateType: this.dateSelectIndex, |
|
|
|
orgCode: this.companyValue, |
|
|
|
startDate: this.time[0] || "", |
|
|
|
endDate: this.time[1] || "", |
|
|
|
current: this.current, |
|
|
|
size: this.size, |
|
|
|
}; |
|
|
|
this.$api.http.biChooseDataTable(params).then((res) => { |
|
|
|
if (res.code == 10000) { |
|
|
|
let arr = this.jiedaiLists; |
|
|
|
let obj = arr.find((item) => item.title == data.title); |
|
|
|
this.total = res.data.total; |
|
|
|
this.dialogTitle = data.title; |
|
|
|
this.tableNameList = dialogConstList[obj.tableListName]; |
|
|
|
this.tableData = res.data.records; |
|
|
|
this.dialogVisible = true; |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
// 获取页面数据 |
|
|
|
biDataOverview() { |
|
|
|
const params = { |
|
|
@@ -3121,7 +3132,6 @@ export default { |
|
|
|
// 基于准备好的dom,初始化echarts实例 |
|
|
|
let myChart = echarts.init(document.getElementById(obj.id)); |
|
|
|
myChart.clear(); |
|
|
|
// this.receptionList |
|
|
|
// 指定图表的配置项和数据 |
|
|
|
let grid = { |
|
|
|
top: "10%", |
|
|
@@ -3695,7 +3705,10 @@ export default { |
|
|
|
if (this.headIndex == "案场排名" && this.companyValue) { |
|
|
|
let index = this.rankingTypeList.findIndex((item) => item.value == 3); |
|
|
|
this.rankingTypeList[index].disabled = false; |
|
|
|
} else if (this.headIndex == "接待分析") { |
|
|
|
} else if ( |
|
|
|
this.headIndex == "接待分析" || |
|
|
|
this.headIndex == "销讲执行分布" |
|
|
|
) { |
|
|
|
this.projectValue = ""; |
|
|
|
this.biFindHouseByOrgCode(); |
|
|
|
} else { |
|
|
@@ -3720,6 +3733,7 @@ export default { |
|
|
|
this.headIndex = index.title; |
|
|
|
sessionStorage.setItem("BIHeadIndex", this.headIndex); |
|
|
|
this.projectValue = ""; |
|
|
|
this.companyValue = ""; |
|
|
|
this.initPage(); |
|
|
|
}, |
|
|
|
|
|
|
@@ -3739,9 +3753,12 @@ export default { |
|
|
|
// To doing |
|
|
|
// |
|
|
|
handleCurrentChange(e) { |
|
|
|
if (this.headIndex != "违禁预警") { |
|
|
|
if (this.headIndex == "实时总览") { |
|
|
|
this.current = e; |
|
|
|
this.showDialog(this.showDialogData); |
|
|
|
} else if (this.headIndex == "设备监控中心") { |
|
|
|
this.current = e; |
|
|
|
this.showDialogs(this.showDialogData); |
|
|
|
} else { |
|
|
|
if (this.dialogVisible) { |
|
|
|
this.current = e; |
|
|
@@ -3755,9 +3772,12 @@ export default { |
|
|
|
|
|
|
|
// |
|
|
|
handleSizeChange(e) { |
|
|
|
if (this.headIndex != "违禁预警") { |
|
|
|
if (this.headIndex == "实时总览") { |
|
|
|
this.size = e; |
|
|
|
this.showDialog(this.showDialogData); |
|
|
|
} else if (this.headIndex == "设备监控中心") { |
|
|
|
this.size = e; |
|
|
|
this.showDialogs(this.showDialogData); |
|
|
|
} else { |
|
|
|
if (this.dialogVisible) { |
|
|
|
this.sizes = e; |
|
|
|