Commit 7e83d0e1 authored by gengchunlei's avatar gengchunlei

Merge branch 'chronic-master' of…

Merge branch 'chronic-master' of http://gitlab.yiboshi.com/nightkis1995/frontend-h5 into chronic-master
parents cd03277f 8247e30b
import { fetchBase } from '../fetch.js'
// 查询筛查列表
export function queryScreenList(params, loading) {
return fetchBase({ url: `/chronic-resident/v1/chronic-screening-record/page`, body: params, loading })
}
// 慢病高危筛查详情
export function firstScreenDetail(params) {
return fetchBase({ url: `/chronic-resident/v1/chronic-screening-record/screening-detail`, body: params, loading: true })
}
// 慢病专病筛查详情
export function secondScreenDetail(params) {
return fetchBase({ url: `/chronic-resident/v1/chronic-screening-record/rescreen-detail`, body: params, loading: true })
}
......@@ -25,19 +25,19 @@
@click="toDetail(item)">
<div>
<span class="label">居民姓名</span>
<span>1</span>
<span>{{ userInfo.residentName }}</span>
</div>
<div>
<span class="label">证件号码</span>
<span>2</span>
<span>{{ $idCardHide(userInfo.idCard) }}</span>
</div>
<div>
<span class="label">筛查日期</span>
<span>3</span>
<span>{{ item.screenDate }}</span>
</div>
<div>
<span class="label">筛查机构</span>
<span>4</span>
<span>{{ item.screenUnitName }}</span>
</div>
<span class="tag tag-red" v-show="activeTab == '1'">高危筛查</span>
<span class="tag tag-blue" v-show="activeTab == '2'">专病筛查</span>
......@@ -50,21 +50,23 @@
</template>
<script>
import { showNotify } from 'vant'
import { useStore } from '@/residentWX/store'
import { queryScreenList } from '@/api/residentWX/screening.js'
export default {
data() {
return {
activeTab: undefined,
store: useStore(),
activeTab: '1',
tabList: [
{ title: '高危筛查', name: '1' },
{ title: '专病筛查', name: '2' }
],
list: [{id: 1}, {id: 2}],
list: [],
pagination: {
total: 0,
pageIndex: 1,
pageSize: 5
pageSize: 8
},
loading: false,
finished: false,
......@@ -78,13 +80,12 @@ export default {
},
idCard() {
return this.routeQuery.idCard
}
},
userInfo() {
return this.store.userInfo
},
},
created() {
if (!this.idCard) {
showNotify({ type: 'warning', message: '未获取到用户信息', duration: 0 })
return
}
this.init()
},
mounted() {
......@@ -101,20 +102,33 @@ export default {
init() {
this.load()
},
load() {
load(loading = true) {
const query = {
screeningType: this.activeTab,
residentInfoId: this.userInfo.residentInfoId,
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize
}
queryScreenList(query, loading).then(res => {
this.list = this.list.concat(res.data.dataList || [])
this.pagination.total = res.data.total || 0
this.finished = this.list.length >= this.pagination.total
}).finally(() => {
this.loading = false
this.loadingRefresh = false
})
},
onMore() {
this.pagination.pageIndex++
this.load()
},
onRefresh() {
// this.list = []
this.list = []
this.pagination.pageIndex = 1
this.load(false)
},
tabChange() {
// this.list = []
this.list = []
this.pagination.pageIndex = 1
this.load()
},
......@@ -136,7 +150,7 @@ export default {
background-color: #f9f9f9;
}
.card-list {
padding-bottom: 76px;
padding-bottom: .3rem;
}
.card {
position: relative;
......
......@@ -12,12 +12,12 @@
style="width: .56rem">
<div class="grow flex flex-col justify-between pl-3">
<div class="flex justify-between">
<span class="name">张一华</span>
<span>筛查日期:2024-10-11</span>
<span class="name">{{ userInfo.residentName }}</span>
<span>筛查日期:{{ info.screenDate || '-' }}</span>
</div>
<div>
<span>慢病高危评估结果:</span>
<span>高危风险人群</span>
<span :class="{'text-red': info.screenResult !== 1 }">{{ info.screenResultName }}</span>
</div>
</div>
</div>
......@@ -37,91 +37,79 @@
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse"
@change="collapseChange">
<van-collapse-item v-for="item in collapseList" :key="item.name"
:title="item.title" :name="item.name">
<van-collapse-item v-for="collapse in collapseList" :key="collapse.name"
:title="collapse.title" :name="collapse.name">
<template #right-icon>
<doc-icon type="doc-down" />
</template>
<div class="list">
<div v-for="item in collapse.columns" :key="item.key" >
<div v-if="item.key == 'pressure'" class="pt-3">
<table class="w-full">
<tr>
<td style="width: 7.1em">血压值(mmHg)</td>
<td>低压值(左侧)</td>
<td></td>
<td>高压值(右侧)</td>
</tr>
<tr>
<td>
第1次测量
</td>
<td>
{{ info.pressureOneDbp || '-' }}
</td>
<td>/</td>
<td>
{{ info.pressureOneSbp || '-' }}
</td>
</tr>
<tr>
<td>
第2次测量
</td>
<td class="flex">
{{ info.pressureTwoDbp || '-' }}
</td>
<td>/</td>
<td>
{{ info.pressureTwoSbp || '-' }}
</td>
</tr>
</table>
</div>
<div v-else class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">{{ item.title }}</span>
<span v-if="item.key === 'idCard'">{{ $idCardHide(collapse.info.idCard) || '-' }}</span>
<span class="text-end" v-else>
<span>{{ collapse.info[item.key] || '-' }}</span>
<span v-if="item.unit" class="ml-1">{{ item.unit }}</span>
</span>
</div>
</div>
</div>
</van-collapse-item>
</van-collapse>
</div>
</div>
<!-- <div class="py-4 border-bottom">
<div class="px-4 doc-title">居民信息</div>
</div>
<div class="px-4 list">
<div v-for="item in columnsBase" :key="item.key"
class="flex justify-between py-4 border-bottom item">
<span class="shrink-0 mr-2 label">{{ item.title }}</span>
<span v-if="item.key === 'idCard'">{{ $idCardHide(residentInfo.idCard) || '-' }}</span>
<span class="text-end" v-else>{{ residentInfo[item.key] || '-' }}</span>
</div>
</div>
<div class="py-4 border-bottom">
<div class="px-4 doc-title">筛查信息</div>
</div>
<div class="px-4 list">
<template v-for="item in columnsScreen" :key="item.key">
<div v-if="item.key == 'pressure'" class="pt-3">
<table class="w-full">
<tr>
<td style="width: 7.1em">血压值(mmHg)</td>
<td>低压值(左侧)</td>
<td></td>
<td>高压值(右侧)</td>
</tr>
<tr>
<td>
第1次测量
</td>
<td>
{{ info.pressureOneDbp || '-' }}
</td>
<td>/</td>
<td>
{{ info.pressureOneSbp || '-' }}
</td>
</tr>
<tr>
<td>
第2次测量
</td>
<td class="flex">
{{ info.pressureTwoDbp || '-' }}
</td>
<td>/</td>
<td>
{{ info.pressureTwoSbp || '-' }}
</td>
</tr>
</table>
</div>
<div v-else
class="flex justify-between py-4 border-bottom item">
<span class="shrink-0 mr-2 label">{{ item.title }}</span>
<div>
<span>{{ info[item.key] || '-' }}</span>
<span v-if="item.unit" class="ml-1">{{ item.unit }}</span>
</div>
</div>
</template>
</div> -->
</div>
</template>
<script>
import { showNotify } from 'vant'
import { firstScreenDetail } from '@/api/residentWX/screening.js'
import { useStore } from '@/residentWX/store'
export default {
data() {
return {
store: useStore(),
activeCollapse: [],
collapseList: [
{ title: '居民信息', name: '1' },
{ title: '筛查信息', name: '2' },
{ title: '筛查机构', name: '3' }
{ title: '居民信息', name: '1', columns: [], info: {} },
{ title: '筛查信息', name: '2', columns: [], info: {} },
{ title: '筛查机构', name: '3', columns: [], info: {} }
],
// 全部展开、收起
collapseAll: false,
......@@ -164,9 +152,9 @@ export default {
id() {
return this.$route.params.id
},
residentInfo() {
return this.info.residentsRecord || {}
}
userInfo() {
return this.store.userInfo
},
},
created() {
if (!this.id) {
......@@ -177,7 +165,13 @@ export default {
},
methods: {
init() {
this.collapseList[0].columns = this.columnsBase
this.collapseList[0].info = this.userInfo
this.collapseList[1].columns = this.columnsScreen
firstScreenDetail({ id: this.id }).then(res => {
this.info = res.data || {}
this.collapseList[1].info = this.info
})
},
onBack() {
this.$router.back()
......@@ -243,7 +237,7 @@ export default {
table {
text-align: left;
border-bottom: 1px solid var(--van-cell-border-color);
// border-bottom: 1px solid var(--van-cell-border-color);
>tr {
>td {
padding-left: 14px;
......@@ -256,6 +250,7 @@ table {
}
}
.list {
color: #262626;
.label {
min-width: 5em;
}
......
......@@ -44,6 +44,9 @@
transition: all .2s;
}
.van-collapse-item {
.van-collapse-item__content {
padding: 0;
}
&::after {
display: none;
}
......
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