|
|
|
@ -16,7 +16,7 @@
|
|
|
|
|
<div>
|
|
|
|
|
<el-select v-model="client_id" placeholder="请选择柜体" @change="(val) => valueChange('id',val)">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in clientOptions"
|
|
|
|
|
v-for="item in $store.getters.clientOptions"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.client_name"
|
|
|
|
|
:value="item.client_id"
|
|
|
|
@ -71,9 +71,15 @@
|
|
|
|
|
<!-- :value="item.value"-->
|
|
|
|
|
<!-- />-->
|
|
|
|
|
<!-- </el-select>-->
|
|
|
|
|
<el-select v-model="rclient_id" :disabled="rloading" style="margin-right: 0" placeholder="请选择柜体" @change="remainingPageChange(1)">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="rclient_id"
|
|
|
|
|
:disabled="rloading"
|
|
|
|
|
style="margin-right: 0"
|
|
|
|
|
placeholder="请选择柜体"
|
|
|
|
|
@change="remainingPageChange(1)"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in clientOptions"
|
|
|
|
|
v-for="item in $store.getters.clientOptions"
|
|
|
|
|
:key="item.client_id"
|
|
|
|
|
:label="item.client_name"
|
|
|
|
|
:value="item.client_id"
|
|
|
|
@ -152,7 +158,7 @@
|
|
|
|
|
label="预警信息类型"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
{{ warning_data_map[scope.row.object_type-1] }}
|
|
|
|
|
{{ warning_data_map[scope.row.object_type - 1] }}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
@ -173,7 +179,7 @@
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-tag :type="scope.row.is_solve === 0?'warning':'success' ">
|
|
|
|
|
{{ scope.row.is_solve === 0 ? '未受理':'已受理' }}
|
|
|
|
|
{{ scope.row.is_solve === 0 ? '未受理' : '已受理' }}
|
|
|
|
|
</el-tag>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
@ -244,7 +250,7 @@
|
|
|
|
|
label="预警信息类型"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
{{ warning_data_map[scope.row.object_type-1] }}
|
|
|
|
|
{{ warning_data_map[scope.row.object_type - 1] }}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
@ -265,7 +271,7 @@
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-tag :type="scope.row.is_solve === 0?'warning':'success' ">
|
|
|
|
|
{{ scope.row.is_solve === 0 ? '未受理':'已受理' }}
|
|
|
|
|
{{ scope.row.is_solve === 0 ? '未受理' : '已受理' }}
|
|
|
|
|
</el-tag>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
@ -299,16 +305,18 @@
|
|
|
|
|
<el-descriptions :column="2" border>
|
|
|
|
|
<el-descriptions-item label="预警对象" span="2">{{ rowData.object_name }}</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item label="预警内容" span="2">{{ rowData.warning_content }}</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item label="预警类型">{{ warning_data_map[rowData.object_type -1] }}</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item label="预警类型">{{ warning_data_map[rowData.object_type - 1] }}</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item label="预警来源">{{ rowData.object_name }}</el-descriptions-item>
|
|
|
|
|
<!-- <el-descriptions-item label="生产日期">{{ this.rowData.object_name }}</el-descriptions-item>-->
|
|
|
|
|
<!-- <el-descriptions-item label="过期日期">{{ this.rowData.object_name }}</el-descriptions-item>-->
|
|
|
|
|
<!-- <el-descriptions-item label="试剂余量">{{ this.rowData.object_name }}</el-descriptions-item>-->
|
|
|
|
|
<!-- <el-descriptions-item label="所属终端">{{ this.rowData.object_name }}</el-descriptions-item>-->
|
|
|
|
|
<el-descriptions-item label="最后使用人"><el-tag>{{ rowData.warning_user_name }}</el-tag></el-descriptions-item>
|
|
|
|
|
<el-descriptions-item label="最后使用人">
|
|
|
|
|
<el-tag>{{ rowData.warning_user_name }}</el-tag>
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item label="受理情况">
|
|
|
|
|
<el-tag :type="rowData.is_solve === 0?'warning':'success' ">
|
|
|
|
|
{{ rowData.is_solve === 0 ? '未受理':'已受理' }}
|
|
|
|
|
{{ rowData.is_solve === 0 ? '未受理' : '已受理' }}
|
|
|
|
|
</el-tag>
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
</el-descriptions>
|
|
|
|
@ -324,7 +332,6 @@
|
|
|
|
|
<script>
|
|
|
|
|
import Detail from '@/components/Detail/index'
|
|
|
|
|
import { home_info, home_warning_list, home_drug_remaining, get_monitoring_info } from '@/api/reagent/overView'
|
|
|
|
|
import { client_list } from '@/api/common'
|
|
|
|
|
import stringify from '@/utils/stringify'
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
@ -344,26 +351,25 @@ export default {
|
|
|
|
|
{
|
|
|
|
|
count: 0,
|
|
|
|
|
desc: '今日入库',
|
|
|
|
|
img: require('@/assets/3-主概览/今日入库.png')
|
|
|
|
|
img: require('@/assets/3-主概览/today_store.png')
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
count: 0,
|
|
|
|
|
desc: '今日领用',
|
|
|
|
|
img: require('@/assets/3-主概览/今日领用.png')
|
|
|
|
|
img: require('@/assets/3-主概览/today_get.png')
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
count: 0,
|
|
|
|
|
desc: '今日归还',
|
|
|
|
|
img: require('@/assets/3-主概览/今日归还.png')
|
|
|
|
|
img: require('@/assets/3-主概览/today_return.png')
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
count: 0,
|
|
|
|
|
desc: '今日未归还',
|
|
|
|
|
img: require('@/assets/3-主概览/今日未归还.png')
|
|
|
|
|
img: require('@/assets/3-主概览/today_noreturn.png')
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
tableData: [],
|
|
|
|
|
clientOptions: [],
|
|
|
|
|
options: ['近24小时', '近七天', '近一个月'],
|
|
|
|
|
value: '',
|
|
|
|
|
radio1: 1,
|
|
|
|
@ -389,9 +395,10 @@ export default {
|
|
|
|
|
loadingLineData: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
async created() {
|
|
|
|
|
created() {
|
|
|
|
|
this.loading = true
|
|
|
|
|
await this.initClientData()
|
|
|
|
|
this.client_id = this.$store.getters.clientOptions[0].client_id
|
|
|
|
|
this.rclient_id = this.client_id
|
|
|
|
|
this.getMonitoringData()
|
|
|
|
|
home_info().then(res => {
|
|
|
|
|
this.initDataFunc(res.data)
|
|
|
|
@ -406,18 +413,6 @@ export default {
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
initClientData() {
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
client_list().then(
|
|
|
|
|
res => {
|
|
|
|
|
this.clientOptions = res.data.data_list
|
|
|
|
|
this.client_id = this.clientOptions[0].client_id
|
|
|
|
|
this.rclient_id = this.client_id
|
|
|
|
|
resolve()
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
valueChange(t, value) {
|
|
|
|
|
this.getMonitoringData()
|
|
|
|
|
this.lineCharts(t)
|
|
|
|
@ -433,7 +428,9 @@ export default {
|
|
|
|
|
res => {
|
|
|
|
|
this.linechartData = res.data
|
|
|
|
|
}
|
|
|
|
|
).finally(() => { this.loadingLineData = false })
|
|
|
|
|
).finally(() => {
|
|
|
|
|
this.loadingLineData = false
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
remainingPageChange(page) {
|
|
|
|
|
this.rpage = page
|
|
|
|
@ -581,7 +578,7 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: this.clientOptions.find(item => item.client_id === this.client_id).client_name,
|
|
|
|
|
name: this.$store.getters.clientOptions.find(item => item.client_id === this.client_id).client_name,
|
|
|
|
|
type: 'line',
|
|
|
|
|
areaStyle: {},
|
|
|
|
|
smooth: true,
|
|
|
|
@ -622,11 +619,13 @@ export default {
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.view-container-tr {
|
|
|
|
|
width: 33%;
|
|
|
|
|
background-color: white;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.view-container-bottom {
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
|
@ -647,68 +646,83 @@ export default {
|
|
|
|
|
height: 14rem;
|
|
|
|
|
width: 33.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.header {
|
|
|
|
|
display: flex;
|
|
|
|
|
margin-bottom: 0.5rem;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
align-items: center;
|
|
|
|
|
.el-input{
|
|
|
|
|
|
|
|
|
|
.el-input {
|
|
|
|
|
width: 150px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.el-select {
|
|
|
|
|
margin-right: 1rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #303133;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data-progress {
|
|
|
|
|
margin-top: 1rem;
|
|
|
|
|
width: 93%;
|
|
|
|
|
|
|
|
|
|
.data-progress-header {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.header-warn{
|
|
|
|
|
|
|
|
|
|
.header-warn {
|
|
|
|
|
.title {
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #303133;
|
|
|
|
|
}
|
|
|
|
|
.count{
|
|
|
|
|
|
|
|
|
|
.count {
|
|
|
|
|
font-size: 36px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #303133;
|
|
|
|
|
margin-top: 3rem;
|
|
|
|
|
}
|
|
|
|
|
.desc{
|
|
|
|
|
|
|
|
|
|
.desc {
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
color: #606266;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.view-content{
|
|
|
|
|
|
|
|
|
|
.view-content {
|
|
|
|
|
padding: 1rem;
|
|
|
|
|
background-color: white;
|
|
|
|
|
}
|
|
|
|
|
#pie{
|
|
|
|
|
|
|
|
|
|
#pie {
|
|
|
|
|
width: 30rem;
|
|
|
|
|
height: 18rem;
|
|
|
|
|
}
|
|
|
|
|
#line{
|
|
|
|
|
|
|
|
|
|
#line {
|
|
|
|
|
width: 65rem;
|
|
|
|
|
height: 15.25rem;
|
|
|
|
|
}
|
|
|
|
|
.header-custom{
|
|
|
|
|
|
|
|
|
|
.header-custom {
|
|
|
|
|
margin-bottom: 1rem;
|
|
|
|
|
.el-input{
|
|
|
|
|
|
|
|
|
|
.el-input {
|
|
|
|
|
width: 12.5rem;
|
|
|
|
|
margin-right: 1rem;
|
|
|
|
|
}
|
|
|
|
|
.el-select{
|
|
|
|
|
|
|
|
|
|
.el-select {
|
|
|
|
|
margin-right: 1rem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|