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 @@ ...@@ -25,19 +25,19 @@
@click="toDetail(item)"> @click="toDetail(item)">
<div> <div>
<span class="label">居民姓名</span> <span class="label">居民姓名</span>
<span>1</span> <span>{{ userInfo.residentName }}</span>
</div> </div>
<div> <div>
<span class="label">证件号码</span> <span class="label">证件号码</span>
<span>2</span> <span>{{ $idCardHide(userInfo.idCard) }}</span>
</div> </div>
<div> <div>
<span class="label">筛查日期</span> <span class="label">筛查日期</span>
<span>3</span> <span>{{ item.screenDate }}</span>
</div> </div>
<div> <div>
<span class="label">筛查机构</span> <span class="label">筛查机构</span>
<span>4</span> <span>{{ item.screenUnitName }}</span>
</div> </div>
<span class="tag tag-red" v-show="activeTab == '1'">高危筛查</span> <span class="tag tag-red" v-show="activeTab == '1'">高危筛查</span>
<span class="tag tag-blue" v-show="activeTab == '2'">专病筛查</span> <span class="tag tag-blue" v-show="activeTab == '2'">专病筛查</span>
...@@ -50,21 +50,23 @@ ...@@ -50,21 +50,23 @@
</template> </template>
<script> <script>
import { showNotify } from 'vant' import { useStore } from '@/residentWX/store'
import { queryScreenList } from '@/api/residentWX/screening.js'
export default { export default {
data() { data() {
return { return {
activeTab: undefined, store: useStore(),
activeTab: '1',
tabList: [ tabList: [
{ title: '高危筛查', name: '1' }, { title: '高危筛查', name: '1' },
{ title: '专病筛查', name: '2' } { title: '专病筛查', name: '2' }
], ],
list: [{id: 1}, {id: 2}], list: [],
pagination: { pagination: {
total: 0, total: 0,
pageIndex: 1, pageIndex: 1,
pageSize: 5 pageSize: 8
}, },
loading: false, loading: false,
finished: false, finished: false,
...@@ -78,13 +80,12 @@ export default { ...@@ -78,13 +80,12 @@ export default {
}, },
idCard() { idCard() {
return this.routeQuery.idCard return this.routeQuery.idCard
} },
userInfo() {
return this.store.userInfo
},
}, },
created() { created() {
if (!this.idCard) {
showNotify({ type: 'warning', message: '未获取到用户信息', duration: 0 })
return
}
this.init() this.init()
}, },
mounted() { mounted() {
...@@ -101,20 +102,33 @@ export default { ...@@ -101,20 +102,33 @@ export default {
init() { init() {
this.load() 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() { onMore() {
this.pagination.pageIndex++ this.pagination.pageIndex++
this.load() this.load()
}, },
onRefresh() { onRefresh() {
// this.list = [] this.list = []
this.pagination.pageIndex = 1 this.pagination.pageIndex = 1
this.load(false) this.load(false)
}, },
tabChange() { tabChange() {
// this.list = [] this.list = []
this.pagination.pageIndex = 1 this.pagination.pageIndex = 1
this.load() this.load()
}, },
...@@ -136,7 +150,7 @@ export default { ...@@ -136,7 +150,7 @@ export default {
background-color: #f9f9f9; background-color: #f9f9f9;
} }
.card-list { .card-list {
padding-bottom: 76px; padding-bottom: .3rem;
} }
.card { .card {
position: relative; position: relative;
......
...@@ -12,12 +12,12 @@ ...@@ -12,12 +12,12 @@
style="width: .56rem"> style="width: .56rem">
<div class="grow flex flex-col justify-between pl-3"> <div class="grow flex flex-col justify-between pl-3">
<div class="flex justify-between"> <div class="flex justify-between">
<span class="name">张一华</span> <span class="name">{{ userInfo.residentName }}</span>
<span>筛查日期:2024-10-11</span> <span>筛查日期:{{ info.screenDate || '-' }}</span>
</div> </div>
<div> <div>
<span>慢病高危评估结果:</span> <span>慢病高危评估结果:</span>
<span>高危风险人群</span> <span :class="{'text-red': info.screenResult !== 1 }">{{ info.screenResultName }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -37,32 +37,13 @@ ...@@ -37,32 +37,13 @@
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" <van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse"
@change="collapseChange"> @change="collapseChange">
<van-collapse-item v-for="item in collapseList" :key="item.name" <van-collapse-item v-for="collapse in collapseList" :key="collapse.name"
:title="item.title" :name="item.name"> :title="collapse.title" :name="collapse.name">
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
</van-collapse-item> <div class="list">
</van-collapse> <div v-for="item in collapse.columns" :key="item.key" >
</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"> <div v-if="item.key == 'pressure'" class="pt-3">
<table class="w-full"> <table class="w-full">
<tr> <tr>
...@@ -97,31 +78,38 @@ ...@@ -97,31 +78,38 @@
</tr> </tr>
</table> </table>
</div> </div>
<div v-else <div v-else class="flex justify-between py-1 border-bottom item">
class="flex justify-between py-4 border-bottom item">
<span class="shrink-0 mr-2 label">{{ item.title }}</span> <span class="shrink-0 mr-2 label">{{ item.title }}</span>
<div> <span v-if="item.key === 'idCard'">{{ $idCardHide(collapse.info.idCard) || '-' }}</span>
<span>{{ info[item.key] || '-' }}</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 v-if="item.unit" class="ml-1">{{ item.unit }}</span>
</span>
</div>
</div>
</div>
</van-collapse-item>
</van-collapse>
</div> </div>
</div> </div>
</template>
</div> -->
</div> </div>
</template> </template>
<script> <script>
import { showNotify } from 'vant' import { showNotify } from 'vant'
import { firstScreenDetail } from '@/api/residentWX/screening.js'
import { useStore } from '@/residentWX/store'
export default { export default {
data() { data() {
return { return {
store: useStore(),
activeCollapse: [], activeCollapse: [],
collapseList: [ collapseList: [
{ title: '居民信息', name: '1' }, { title: '居民信息', name: '1', columns: [], info: {} },
{ title: '筛查信息', name: '2' }, { title: '筛查信息', name: '2', columns: [], info: {} },
{ title: '筛查机构', name: '3' } { title: '筛查机构', name: '3', columns: [], info: {} }
], ],
// 全部展开、收起 // 全部展开、收起
collapseAll: false, collapseAll: false,
...@@ -164,9 +152,9 @@ export default { ...@@ -164,9 +152,9 @@ export default {
id() { id() {
return this.$route.params.id return this.$route.params.id
}, },
residentInfo() { userInfo() {
return this.info.residentsRecord || {} return this.store.userInfo
} },
}, },
created() { created() {
if (!this.id) { if (!this.id) {
...@@ -177,7 +165,13 @@ export default { ...@@ -177,7 +165,13 @@ export default {
}, },
methods: { methods: {
init() { 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() { onBack() {
this.$router.back() this.$router.back()
...@@ -243,7 +237,7 @@ export default { ...@@ -243,7 +237,7 @@ export default {
table { table {
text-align: left; text-align: left;
border-bottom: 1px solid var(--van-cell-border-color); // border-bottom: 1px solid var(--van-cell-border-color);
>tr { >tr {
>td { >td {
padding-left: 14px; padding-left: 14px;
...@@ -256,6 +250,7 @@ table { ...@@ -256,6 +250,7 @@ table {
} }
} }
.list { .list {
color: #262626;
.label { .label {
min-width: 5em; min-width: 5em;
} }
......
...@@ -44,6 +44,9 @@ ...@@ -44,6 +44,9 @@
transition: all .2s; transition: all .2s;
} }
.van-collapse-item { .van-collapse-item {
.van-collapse-item__content {
padding: 0;
}
&::after { &::after {
display: none; 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