|
@@ -26,20 +26,10 @@
|
|
|
<div class="box_wrapper">
|
|
|
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
|
|
<el-form-item label="">
|
|
|
- <el-date-picker
|
|
|
- v-model="formInline.start_time"
|
|
|
- type="date"
|
|
|
- :picker-options="pickerOptions1"
|
|
|
- placeholder="开始日期">
|
|
|
- </el-date-picker>
|
|
|
+ <el-date-picker v-model="formInline.start_time" type="date" :picker-options="pickerOptions1" placeholder="开始日期"></el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="">
|
|
|
- <el-date-picker
|
|
|
- v-model="formInline.end_time"
|
|
|
- type="date"
|
|
|
- :picker-options="pickerOptions2"
|
|
|
- placeholder="结束日期">
|
|
|
- </el-date-picker>
|
|
|
+ <el-date-picker v-model="formInline.end_time" type="date" :picker-options="pickerOptions2" placeholder="结束日期"></el-date-picker>
|
|
|
<!-- <el-date-picker
|
|
|
v-model="formInline.time"
|
|
|
type="daterange"
|
|
@@ -56,8 +46,8 @@
|
|
|
</el-form>
|
|
|
<!-- 排名柱状图 -->
|
|
|
<div class="rank-box">
|
|
|
- <Title :title="'Top 10'" style="margin-bottom: 0;" />
|
|
|
- <div v-if="rankData.length" id="myChart1" style="width: 100%; height: 400px;"></div>
|
|
|
+ <Title :title="'Top 10'" style="margin-bottom: 0" />
|
|
|
+ <div v-if="rankData.length" id="myChart1" style="width: 100%; height: 400px"></div>
|
|
|
<el-empty v-else description="暂无排名数据"></el-empty>
|
|
|
</div>
|
|
|
<div class="table-box">
|
|
@@ -94,9 +84,11 @@
|
|
|
<script>
|
|
|
import * as echarts from 'echarts';
|
|
|
import Title from '@/components/Title';
|
|
|
+import { dateFormat } from '@/utils'
|
|
|
+
|
|
|
export default {
|
|
|
components: {
|
|
|
- Title
|
|
|
+ Title,
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -234,30 +226,30 @@ export default {
|
|
|
ruleId: '',
|
|
|
ruleName: '--',
|
|
|
pickerOptions1: {
|
|
|
- disabledDate: (time) => {
|
|
|
+ disabledDate: time => {
|
|
|
if (this.formInline.end_time) {
|
|
|
return time.getTime() > new Date(this.formInline.end_time).getTime();
|
|
|
} else {
|
|
|
- return time.getTime() > Date.now()
|
|
|
+ return time.getTime() > Date.now();
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
pickerOptions2: {
|
|
|
- disabledDate: (time) => {
|
|
|
+ disabledDate: time => {
|
|
|
if (this.formInline.start_time) {
|
|
|
return time.getTime() < new Date(this.formInline.start_time).getTime();
|
|
|
} else {
|
|
|
- return time.getTime() > Date.now()
|
|
|
+ return time.getTime() > Date.now();
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
formInline: {
|
|
|
time: '',
|
|
|
start_time: '',
|
|
|
- end_time: ''
|
|
|
+ end_time: '',
|
|
|
},
|
|
|
tableData: [],
|
|
|
- rankData: []
|
|
|
+ rankData: [],
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
@@ -272,32 +264,30 @@ export default {
|
|
|
if (id > 10) {
|
|
|
this.ruleId = id;
|
|
|
this.ruleName = name.split('、')[1];
|
|
|
- }
|
|
|
- if (id > 10 && this.formInline.time.length) {
|
|
|
- this.getList()
|
|
|
- this.getRankList()
|
|
|
+ this.getList();
|
|
|
+ this.getRankList();
|
|
|
}
|
|
|
},
|
|
|
// 搜索
|
|
|
onSearch() {
|
|
|
- if (this.ruleId && this.formInline.start_time && this.formInline.end_time) {
|
|
|
- this.getList()
|
|
|
- this.getRankList()
|
|
|
+ if (this.ruleId) {
|
|
|
+ this.getList();
|
|
|
+ this.getRankList();
|
|
|
} else {
|
|
|
- this.$message.error('请完善指标和出院时间!')
|
|
|
+ this.$message.error('请完善指标和出院时间!');
|
|
|
}
|
|
|
},
|
|
|
// 获取科室排名
|
|
|
getList() {
|
|
|
- const { start_time, end_time } = this.formInline
|
|
|
+ const { start_time, end_time } = this.formInline;
|
|
|
const params = {
|
|
|
type: this.ruleId,
|
|
|
page: 1,
|
|
|
page_size: 1000,
|
|
|
- start_time,
|
|
|
- end_time
|
|
|
- }
|
|
|
-
|
|
|
+ start_time: start_time ? dateFormat(start_time, 'YYYYMMDD') : '',
|
|
|
+ end_time: end_time ? dateFormat(end_time, 'YYYYMMDD') : ''
|
|
|
+ };
|
|
|
+
|
|
|
this.$axios2.post('/dep_statistics', params).then(res => {
|
|
|
if (Array.isArray(res.data.data)) {
|
|
|
this.tableData = res.data.data;
|
|
@@ -308,16 +298,16 @@ export default {
|
|
|
},
|
|
|
// 获取排名rank10
|
|
|
getRankList() {
|
|
|
- const { start_time, end_time } = this.formInline
|
|
|
+ const { start_time, end_time } = this.formInline;
|
|
|
const params = {
|
|
|
type: this.ruleId,
|
|
|
page: 1,
|
|
|
page_size: 10,
|
|
|
start_time,
|
|
|
- end_time
|
|
|
- }
|
|
|
+ end_time,
|
|
|
+ };
|
|
|
this.$axios2.post('/dep_statistics', params).then(res => {
|
|
|
- console.log(res.data.data)
|
|
|
+ console.log(res.data.data);
|
|
|
if (Array.isArray(res.data.data)) {
|
|
|
this.rankData = res.data.data;
|
|
|
} else {
|
|
@@ -325,8 +315,8 @@ export default {
|
|
|
}
|
|
|
if (this.rankData.length) {
|
|
|
this.$nextTick(() => {
|
|
|
- this.initCharts1()
|
|
|
- })
|
|
|
+ this.initCharts1();
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -370,8 +360,8 @@ export default {
|
|
|
type: 'category',
|
|
|
data: dataName,
|
|
|
axisLabel: {
|
|
|
- rotate: 15
|
|
|
- }
|
|
|
+ rotate: 15,
|
|
|
+ },
|
|
|
},
|
|
|
grid: {
|
|
|
left: '3%',
|
|
@@ -384,8 +374,8 @@ export default {
|
|
|
axisLabel: {
|
|
|
show: true,
|
|
|
interval: 0,
|
|
|
- formatter: '{value} %'
|
|
|
- }
|
|
|
+ formatter: '{value} %',
|
|
|
+ },
|
|
|
},
|
|
|
series: [
|
|
|
{
|
|
@@ -420,9 +410,9 @@ export default {
|
|
|
},
|
|
|
// 跳转列表页
|
|
|
toPage(row, status) {
|
|
|
- const { time } = this.formInline
|
|
|
- this.$router.push({ path: '/caseIndexAnalysisList', query: { ruleId: this.ruleId, ruleName: this.ruleName, start: time[0], end: time[1], dep_id: row.dep_id, status }})
|
|
|
- }
|
|
|
+ const { time } = this.formInline;
|
|
|
+ this.$router.push({ path: '/caseIndexAnalysisList', query: { ruleId: this.ruleId, ruleName: this.ruleName, start: time[0], end: time[1], dep_id: row.dep_id, status } });
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
@@ -471,5 +461,4 @@ export default {
|
|
|
::v-deep.el-table .el-table__header tr th:nth-child(3) {
|
|
|
border-radius: 0px 5px 5px 0px;
|
|
|
}
|
|
|
-
|
|
|
</style>
|