Commit 5091a6b6 authored by 陈明豪's avatar 陈明豪

数据统计-接口对接

parent ed0a56dc
......@@ -105,6 +105,6 @@ export default {
<style scoped>
.radarChart {
width: 100%;
height: 584px;
height: 680px;
}
</style>
<template>
<div>
<div v-if="value >= 0" class="upPercentDiv">
+{{ value || 0 }}% <img src="../../../assets/data_statistics/caiwu_icon_sheng.png" height="12" width="8">
</div>
<div v-else class="downPercentDiv">
{{ value || 0 }}% <img src="../../../assets/data_statistics/caiwu_icon_zjiang.png" height="12" width="8">
</div>
</div>
</template>
<script>
export default {
name: 'IncreasePercentTool',
props: ['value'],
data() {
return {}
},
watch: {},
created() {
},
methods: {}
}
</script>
<style scoped>
.upPercentDiv {
padding-top: 8px;
font-size: 12px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #5FB54B;
text-align: right;
}
.downPercentDiv {
padding-top: 8px;
font-size: 12px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #DB4747;
text-align: right;
}
</style>
......@@ -61,7 +61,6 @@ export default {
},
methods: {
formatPercent(percentage) {
console.log('调用格式')
if (this.percent > 0) {
return '+' + this.percent + '%'
} else {
......
......@@ -299,7 +299,7 @@
<el-col :span="6">
<div class="service_info_statistics service_info_statistics_hasServicePerson">
<div style="display: flex;">
<div class="numberColor">319,393</div>
<div class="numberColor">{{ formatNum(businessInformation.serviceOwnerNum || 0) }}</div>
<div class="fontColor"></div>
</div>
<div class="bottomText">
......@@ -313,7 +313,7 @@
<el-col :span="6">
<div class="service_info_statistics service_info_statistics_hasServicePet">
<div style="display: flex;">
<div class="numberColor">9,393</div>
<div class="numberColor">{{ formatNum(businessInformation.servicePetNum || 0) }}</div>
<div class="fontColor"></div>
</div>
<div class="bottomText">
......@@ -327,7 +327,7 @@
<el-col :span="6">
<div class="service_info_statistics service_info_statistics_heal">
<div style="display: flex;">
<div class="numberColor">2,123</div>
<div class="numberColor">{{ formatNum(businessInformation.registerPetNum || 0) }}</div>
<div class="fontColor"></div>
</div>
<div class="bottomText">
......@@ -341,7 +341,7 @@
<el-col :span="6">
<div class="service_info_statistics service_info_statistics_income">
<div style="display: flex;">
<div class="numberColor">348,936,33</div>
<div class="numberColor">{{ formatNum(businessInformation.businessIncome.toFixed(0) || 0) }}</div>
<div class="fontColor"></div>
</div>
<div class="bottomText">
......@@ -359,25 +359,25 @@
<el-col :span="4">
<div class="percentDiv cardDiv">
<div class="cardTitle" style="margin-bottom: 0">
6月诊治次数较上期环比
{{ getNowMonth() }}月诊治次数较上期环比
</div>
<percent-tool :percent="90" class-name="purple_percent" />
<percent-tool :percent="businessInformation.linkRelativeRatio || 0" class-name="purple_percent" />
</div>
</el-col>
<el-col :span="4">
<div class="percentDiv cardDiv">
<div class="cardTitle" style="margin-bottom: 0">
6月诊治次数较去年同比
{{ getNowMonth() }}月诊治次数较去年同比
</div>
<percent-tool :percent="58" class-name="green_percent" />
<percent-tool :percent="businessInformation.yearOnYear || 0" class-name="green_percent" />
</div>
</el-col>
<el-col :span="4">
<div class="percentDiv cardDiv">
<div class="cardTitle" style="margin-bottom: 0">
6月诊治次数较年度平均值
{{ getNowMonth() }}月诊治次数较年度平均值
</div>
<percent-tool :percent="-37" class-name="orange_percent" />
<percent-tool :percent="businessInformation.annualAverage || 0" class-name="orange_percent" />
</div>
</el-col>
</el-row>
......@@ -385,12 +385,14 @@
<el-col :span="16">
<div class="cardDiv">
<one-line-chart
v-if="oneLineChartData.data.length > 0"
:y-data="oneLineChartData"
/>
<pile-up-chart
:y-data1="[110, 212, 218, 143, 149, 110]"
:y-data2="[125, 143, 131, 115, 110, 222]"
:y-data3="[101, 222, 282, 43, 49, 234]"
v-if="pileUpData.yData1.length > 0 || pileUpData.yData2.length > 0 || pileUpData.yData3.length > 0"
:y-data1="pileUpData.yData1"
:y-data2="pileUpData.yData2"
:y-data3="pileUpData.yData3"
/>
</div>
</el-col>
......@@ -411,7 +413,7 @@
<el-col :span="12">
<div class="valueContent">
<div class="numberContent">
112
{{ formatNum(businessData.monthData.registerNum || 0) }}
</div>
<div class="unitContent">
......@@ -435,7 +437,7 @@
<el-col :span="12">
<div class="valueContent">
<div class="numberContent">
49
{{ formatNum(businessData.monthData.checkNum || 0) }}
</div>
<div class="unitContent">
......@@ -461,7 +463,7 @@
<el-col :span="12">
<div class="valueContent">
<div class="numberContent">
7
{{ formatNum(businessData.monthData.treatNum || 0) }}
</div>
<div class="unitContent">
......@@ -485,7 +487,7 @@
<el-col :span="12">
<div class="valueContent">
<div class="numberContent">
16
{{ formatNum(businessData.monthData.inHosNum || 0) }}
</div>
<div class="unitContent">
......@@ -517,7 +519,7 @@
<el-col :span="12">
<div class="valueContent">
<div class="numberContent">
1,212
{{ formatNum(businessData.yearData.yearRegisterNum || 0) }}
</div>
<div class="unitContent">
......@@ -528,9 +530,7 @@
</div>
</el-col>
<el-col :span="12">
<div class="upPercentDiv">
+15.9% <img src="../../../assets/data_statistics/caiwu_icon_sheng.png" height="12" width="8">
</div>
<increase-percent-tool :value="businessData.yearData.registerPercentage" />
</el-col>
</el-row>
</div>
......@@ -541,7 +541,7 @@
<el-col :span="12">
<div class="valueContent">
<div class="numberContent">
4,119
{{ formatNum(businessData.yearData.yearCheckNum || 0) }}
</div>
<div class="unitContent">
......@@ -552,9 +552,7 @@
</div>
</el-col>
<el-col :span="12">
<div class="upPercentDiv">
+15.9% <img src="../../../assets/data_statistics/caiwu_icon_sheng.png" height="12" width="8">
</div>
<increase-percent-tool :value="businessData.yearData.checkPercentage" />
</el-col>
</el-row>
</div>
......@@ -567,7 +565,7 @@
<el-col :span="12">
<div class="valueContent">
<div class="numberContent">
1,017
{{ formatNum(businessData.yearData.yearTreatNum || 0) }}
</div>
<div class="unitContent">
......@@ -578,12 +576,7 @@
</div>
</el-col>
<el-col :span="12">
<!-- <div class="downPercentDiv">-->
<!-- +15.9% <img src="../../../assets/data_statistics/caiwu_icon_sheng.png" height="12" width="8">-->
<!-- </div>-->
<div class="downPercentDiv">
-15.9% <img src="../../../assets/data_statistics/caiwu_icon_zjiang.png" height="12" width="8">
</div>
<increase-percent-tool :value="businessData.yearData.treatPercentage" />
</el-col>
</el-row>
</div>
......@@ -594,7 +587,7 @@
<el-col :span="12">
<div class="valueContent">
<div class="numberContent">
1,116
{{ formatNum(businessData.yearData.yearInHosNum || 0) }}
</div>
<div class="unitContent">
......@@ -605,9 +598,7 @@
</div>
</el-col>
<el-col :span="12">
<div class="downPercentDiv">
-15.9% <img src="../../../assets/data_statistics/caiwu_icon_zjiang.png" height="12" width="8">
</div>
<increase-percent-tool :value="businessData.yearData.inHosPercentage" />
</el-col>
</el-row>
</div>
......@@ -621,10 +612,10 @@
<el-col :span="8">
<div class="cardDiv">
<div class="cardTitle">
医院授权到期信息
检查项目服务次数统计
</div>
<el-divider class="dividerLine" />
<el-table :data="checkProjectRank" style="width: 100%">
<el-table class="tableClass" :data="checkProjectRank" style="width: 100%;height: 475px">
<el-table-column label="排名" min-width="60px" align="center" show-overflow-tooltip type="index">
<template slot-scope="scope">
<div v-if="scope.$index + 1 <= 3">
......@@ -649,7 +640,7 @@
治疗项目服务次数统计
</div>
<el-divider class="dividerLine" />
<el-table :data="healProjectRank" style="width: 100%">
<el-table class="tableClass" :data="healProjectRank" style="width: 100%;height: 475px">
<el-table-column label="排名" min-width="60px" align="center" show-overflow-tooltip type="index">
<template slot-scope="scope">
<div v-if="scope.$index + 1 <= 3">
......@@ -671,14 +662,11 @@
<el-col :span="8">
<div class="cardDiv">
<radar-chart-one-line-bigger
v-if="petBreedAnalysis.data.length > 0"
title="就诊宠物品种分析"
name="就诊数量"
:y-data="[33, 29, 33]"
:indicator="[
{ name: '猫', max: 50},
{ name: '狗', max: 50},
{ name: '异宠', max: 50}
]"
:y-data="petBreedAnalysis.data"
:indicator="petBreedAnalysis.indicator"
line-start-color="#3490CE"
line-end-color="#5FB54B"
area-start-color="rgba(52,144,206,0.3)"
......@@ -745,14 +733,16 @@ import RadarChartOneLineBigger from '@/views/data-statistics/echars-components/r
import { getBusinessStatistics, listOrder } from '@/api/business/statistics'
import EmptyTool from '@/views/data-statistics/other-components/emptyTool.vue'
import { parseTime } from '@/utils/ruoyi'
import IncreasePercentTool from '@/views/data-statistics/other-components/increasePercentTool.vue'
export default {
name: 'ServiceStatistics',
components: { EmptyTool, RadarChartOneLineBigger, PileUpChart, OneLineChart, PercentTool, RadarChartOneLine, OverlongTool, TwoLineChartNoUnit, ChinaMapBigger },
components: { IncreasePercentTool, EmptyTool, RadarChartOneLineBigger, PileUpChart, OneLineChart, PercentTool, RadarChartOneLine, OverlongTool, TwoLineChartNoUnit, ChinaMapBigger },
data() {
return {
isPlatformRole: true,
businessInformation: {},
businessData: {},
lineSelect: 'byYear',
monthDayArray: [],
mapData: [],
......@@ -1031,116 +1021,27 @@ export default {
total: 20,
oneLineChartData: {
label: '诊疗次数',
data: [396, 298, 333, 580, 0, 289, null, null, null, null, null, null],
data: [],
line_color: '#5FB54B',
area_color: '#5FB54B',
unit: '次'
},
checkProjectRank: [
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
}
],
healProjectRank: [
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
pileUpData: {
yData1: [],
yData2: [],
yData3: []
},
{
name: '微型宠物医学影像检查 - DR',
count: 13264,
sum: 123123
}
checkProjectRank: [],
healProjectRank: [],
petBreedAnalysis: {
data: [],
indicator: [
{ name: '猫', max: 0 },
{ name: '狗', max: 0 },
{ name: '异宠', max: 0 }
]
}
}
},
created() {
this.mGetDate()
......@@ -1190,7 +1091,20 @@ export default {
getDataForHospital() {
getBusinessStatistics().then(res => {
if (res.code === 200) {
console.log('业务统计,医院权限')
console.log('业务统计,医院权限', res)
this.businessInformation = res.data.businessInformation
this.businessData = res.data.businessData
this.oneLineChartData.data = res.data.statisticsInMonth.monthCaseNum.map(obj => { return obj.registerNum })
this.pileUpData.yData1 = res.data.statisticsInMonth.serviceInMonth.checkNum.map(obj => { return obj.number })
this.pileUpData.yData2 = res.data.statisticsInMonth.serviceInMonth.treatNum.map(obj => { return obj.number })
this.pileUpData.yData3 = res.data.statisticsInMonth.serviceInMonth.inHosNum.map(obj => { return obj.number })
this.checkProjectRank = res.data.checkCount
this.healProjectRank = res.data.treatCount
this.petBreedAnalysis.data = res.data.petBreedAnalysis.dimension
const maxTmp = this.formatMax(this.getArrayMax(this.petBreedAnalysis.data))
this.petBreedAnalysis.indicator[0].max = maxTmp
this.petBreedAnalysis.indicator[1].max = maxTmp
this.petBreedAnalysis.indicator[2].max = maxTmp
}
})
},
......@@ -1240,6 +1154,10 @@ export default {
this.queryOrder.orderByColumn = column.prop// 查询字段是表格中字段名字
this.queryOrder.isAsc = column.order// 动态取值排序顺序
this.getOrderList()
},
getNowMonth() {
const now = new Date()
return now.getMonth()
}
}
}
......@@ -1621,7 +1539,7 @@ export default {
color: #333333;
}
.unitContent {
padding-top: 10px;
padding-top: 7px;
padding-left: 5px;
font-size: 12px;
font-family: Microsoft YaHei;
......@@ -1667,4 +1585,10 @@ export default {
.rankInnerDiv {
height: 389px;
}
.tableClass {
::v-deep .el-table__cell {
height: 55px !important;
//line-height: 40px !important;
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment