<template>
|
<view class="box">
|
<view class="page">
|
<view class="header">
|
<view class="search-bar">
|
<view class="search-input">
|
<uni-icons type="search" size="16" color="#999999" />
|
<input type="text" placeholder="搜索报告" placeholder-class="placeholder" />
|
</view>
|
<text class="search-btn">搜索</text>
|
</view>
|
</view>
|
|
<scroll-view class="content" scroll-y>
|
<view class="report-list">
|
<view v-for="(item, index) in reportList" :key="index" class="report-item" @click="ReportDetails(item.tjNumber)">
|
<view class="report-header">
|
<view class="user-info">
|
<text class="name">{{ item.cusName || '未知姓名' }}</text>
|
<text class="code">体检码:{{ item.tjNumber }}</text>
|
</view>
|
<text class="status">{{item.status}}</text>
|
</view>
|
<view class="report-info">
|
<text class="age-gender">{{ item.age }}岁 | {{ item.cusSex ? '女' : '男' }}</text>
|
<text class="date">{{ item.createTime }}</text>
|
</view>
|
<view class="hospital">
|
<text>{{ item.hospital || '泾川县人民医院健康体检中心' }}</text>
|
</view>
|
</view>
|
</view>
|
</scroll-view>
|
|
<!-- <view class="footer">
|
<button class="upload-btn">
|
<text>拍照上传</text>
|
</button>
|
<button class="compare-btn" type="primary" @click="ReportDetails()">
|
<text>报告对比</text>
|
</button>
|
</view> -->
|
</view>
|
</view>
|
</template>
|
|
<script>
|
import { getReportList } from "@/api/system/report";
|
|
export default {
|
name: 'App',
|
data() {
|
return {
|
reportList: [],
|
cusIdCard: '',
|
};
|
},
|
onLoad(options) {
|
this.cusIdCard = options.cusIdCard || '';
|
if (this.cusIdCard) {
|
this.getList();
|
} else {
|
this.$modal.showToast('缺少身份证号参数');
|
}
|
},
|
methods: {
|
/** 查询体检报告列表 */
|
getList() {
|
getReportList(this.cusIdCard).then((response) => {
|
if (response.data) {
|
this.reportList = response.data;
|
console.log('报告列表:', this.reportList);
|
} else {
|
this.$modal.showToast('还未生成体检报告');
|
|
}
|
}).catch(err => {
|
console.error('获取报告列表失败:', err);
|
this.$modal.showToast('获取报告列表失败');
|
});
|
},
|
ReportDetails(item) {
|
uni.navigateTo({
|
url: `/pagesA/ReportDetails/ReportDetails?tjNum=${encodeURIComponent(item)}`
|
});
|
}
|
}
|
};
|
</script>
|
|
<style lang="scss">
|
page {
|
height: 100%;
|
}
|
|
.page {
|
height: 100%;
|
display: flex;
|
flex-direction: column;
|
background-color: #f5f5f5;
|
}
|
|
.header {
|
flex-shrink: 0;
|
background-color: #ffffff;
|
padding-bottom: 20rpx;
|
}
|
|
.search-bar {
|
display: flex;
|
align-items: center;
|
padding: 0 32rpx;
|
margin-top: 20rpx;
|
}
|
|
.search-input {
|
flex: 1;
|
height: 72rpx;
|
background: #f5f5f5;
|
border-radius: 36rpx;
|
display: flex;
|
align-items: center;
|
padding: 0 24rpx;
|
}
|
|
.search-input input {
|
flex: 1;
|
margin-left: 16rpx;
|
font-size: 14px;
|
}
|
|
.placeholder {
|
color: #999999;
|
}
|
|
.search-btn {
|
margin-left: 24rpx;
|
color: #007AFF;
|
font-size: 14px;
|
}
|
|
.content {
|
flex: 1;
|
overflow: auto;
|
}
|
|
.report-list {
|
padding: 24rpx;
|
}
|
|
.report-item {
|
background: #ffffff;
|
border-radius: 16rpx;
|
padding: 32rpx;
|
margin-bottom: 24rpx;
|
}
|
|
.report-header {
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
margin-bottom: 24rpx;
|
}
|
|
.user-info {
|
display: flex;
|
align-items: center;
|
}
|
|
.name {
|
font-size: 16px;
|
color: #333333;
|
font-weight: 500;
|
}
|
|
.code {
|
margin-left: 24rpx;
|
font-size: 14px;
|
color: #3DA1FE;
|
}
|
|
.status {
|
font-size: 14px;
|
color: #999999;
|
}
|
|
.report-info {
|
display: flex;
|
justify-content: space-between;
|
margin-bottom: 16rpx;
|
border-top: 1px solid #F5F5F5;
|
}
|
|
.age-gender {
|
font-size: 14px;
|
color: #666666;
|
}
|
|
.date {
|
font-size: 14px;
|
color: #666666;
|
}
|
|
.hospital {
|
font-size: 14px;
|
color: #666666;
|
}
|
|
.footer {
|
flex-shrink: 0;
|
display: flex;
|
padding: 32rpx;
|
gap: 24rpx;
|
background: #ffffff;
|
}
|
|
.upload-btn {
|
flex: 1;
|
height: 88rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
background: #f5f5f5;
|
border: none;
|
}
|
|
.upload-btn text {
|
margin-left: 8rpx;
|
font-size: 14px;
|
color: #666666;
|
}
|
|
.compare-btn {
|
flex: 1;
|
height: 88rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
background: #419FFD !important;
|
border: none;
|
}
|
|
.compare-btn text {
|
font-size: 14px;
|
color: #ffffff;
|
}
|
</style>
|