<template> <div class="h-full overflow-y-auto general-list" ref='list'> <van-pull-refresh v-model='loadingRefresh' @refresh='onRefresh' :disabled='isRefreshDisable'> <div class="flex flex-col"> <div v-for='item in list' :key="item.id" class="flex flex-col gap-y-2.5 py-3 px-4 mb-3 doc-list-card"> <div> <span class="label">状态</span> <span>{{ item.statusName }}</span> </div> <div class="text-ellipsis"> <span class="label">转出单位</span> <span>{{ item.unitName || '-' }}</span> </div> <div> <span class="label">转出医生</span> <span>{{ item.doctorName || '-' }}</span> </div> <div> <span class="label">转诊类型</span> <span>{{ item.referralTypeDesc || '-' }}</span> </div> <div> <span class="label">来源</span> <span>{{ item.source || '-' }}</span> </div> <div class="text-ellipsis"> <span class="label">接诊单位</span> <span>{{ item.transferUnitName || '-' }}</span> </div> <div> <span class="label">接诊医生</span> <span>{{ item.attendingDoctorName || '-' }}</span> </div> <div> <span class="label">发起时间</span> <span>{{ item.startDate || '-' }}</span> </div> <div class="divider"></div> <div class="bt-group"> <van-button round size="small" class="doc-btn-primary" @click="toDetail(item)">详情</van-button> </div> </div> </div> </van-pull-refresh> <div class='text-center shrink-0 empty' v-if='!list.length'> <img src='@/assets/image/doctor/empty.png' alt='' style='width: 1.2rem;'> <p>暂无数据</p> </div> </div> </template> <script> import { getReferralList } from '@/api/doctor/resident.js' export default { inject: ['residentInfo'], data() { return { list: [], loadingRefresh: false, isRefreshDisable: false } }, computed: { residentInfoId() { return this.residentInfo().residentInfoId } }, created() { this.load() }, mounted() { const list = this.$refs.list list.addEventListener('scroll', () => { if (list.scrollTop > 0) { this.isRefreshDisable = true } else { this.isRefreshDisable = false } }) }, methods: { load(loading = true) { const query = { residentInfoId: this.residentInfoId } getReferralList(query, loading).then(res => { this.list = res.data || [] }).finally(() => { this.loadingRefresh = false }) }, onRefresh() { this.load(false) }, toDetail(record) { if (!record) return if (record.id == null) { showToast('暂时无法查看 详情信息') return } } } } </script> <style lang="less" scoped> </style>