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

数据统计-接口对接

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