增加日期选择,过滤未出报告

main
yanzai 4 months ago
parent 17a336d5c0
commit f48e493f82

@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Models\AnalysisType; use App\Models\AnalysisType;
use App\Models\Hospital; use App\Models\Hospital;
use DateTime;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Yo; use Yo;
@ -593,6 +594,13 @@ class ReportController extends Controller
public function list(Request $request) public function list(Request $request)
{ {
$id_number = $request->post('id_number'); $id_number = $request->post('id_number');
$daterange = $request->post('daterange');
if(!isset($daterange) or count($daterange)!==2 or empty($daterange)){
$today = new DateTime();
$oneYearAgo = new DateTime();
$oneYearAgo->modify('-1 year');
$daterange=[$oneYearAgo->format('Y-m-d'),$today->format('Y-m-d')];
}
$hospital = Hospital::where('id', $request->post('hospital'))->where('del', 2)->first(); $hospital = Hospital::where('id', $request->post('hospital'))->where('del', 2)->first();
if (!$hospital) Yo::error_echo(100000, ['机构/医院']); if (!$hospital) Yo::error_echo(100000, ['机构/医院']);
$peis = new PEISApiController(); $peis = new PEISApiController();
@ -603,6 +611,8 @@ class ReportController extends Controller
])['data']; ])['data'];
$list = []; $list = [];
foreach ($res as $item) { foreach ($res as $item) {
if ($item['登记时间'] < $daterange[0] . ' 00:00:00' || $item['登记时间'] > $daterange[1] . ' 23:59:59') continue;
if($item['体检状态'] != '报告已出') continue;
$list[] = [ $list[] = [
'id' => $item['体检号'], 'id' => $item['体检号'],
'title' => explode('T', $item['登记时间'])[0] . ' 体检报告', 'title' => explode('T', $item['登记时间'])[0] . ' 体检报告',

@ -18,7 +18,7 @@
onShow onShow
} from '@dcloudio/uni-app' } from '@dcloudio/uni-app'
import Empty from '../../../components/Empty.vue'; import Empty from '../../../components/Empty.vue';
let tishi=ref('') let tishi = ref('')
const $props = defineProps({ const $props = defineProps({
id_number: { id_number: {
type: String, type: String,
@ -29,18 +29,21 @@
default: '' default: ''
}, },
}); });
let date_start = ref('');
let date_end = ref('')
const ReportList = async () => { const ReportList = async () => {
uni.showLoading({ uni.showLoading({
title: '加载中' title: '加载中'
}); });
const response = await ReportListAction({ const response = await ReportListAction({
id_number: $props.id_number id_number: $props.id_number,
daterange:[date_start.value,date_end.value]
}) })
uni.hideLoading(); uni.hideLoading();
$response(response, () => { $response(response, () => {
report_list.value = response.data.list report_list.value = response.data.list
if(report_list.value.length===0){ if (report_list.value.length === 0) {
tishi.value='暂无报告' tishi.value = '暂无报告'
} }
}) })
} }
@ -64,10 +67,38 @@
report_status.value = response.data.info.open === 1 report_status.value = response.data.info.open === 1
}) })
} }
const StartDateChange = (e) => {
date_start.value = e.detail.value
ReportList()
}
const EndDateChange = (e) => {
date_end.value = e.detail.value
ReportList()
}
const formatDate=(date)=> {
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
return `${year}-${month}-${day}`;
}
onMounted(() => { onMounted(() => {
const currentDate = new Date();
const oneYearAgo = new Date();
oneYearAgo.setFullYear(currentDate.getFullYear() - 1);
const formatDateString = (date) => {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0");
const day = String(date.getDate()).padStart(2, "0");
return `${year}-${month}-${day}`;
};
date_start.value=formatDateString(oneYearAgo)
date_end.value=formatDateString(currentDate)
ReportList() ReportList()
HospitalExtraReportStatus() HospitalExtraReportStatus()
}) })
</script> </script>
<template> <template>
@ -90,7 +121,23 @@
<text class="tip_title_wrapper">温馨提示</text> <text class="tip_title_wrapper">温馨提示</text>
<text class="tip_text_wrapper">如电子报告与纸质报告不相符请以纸质版报告为准</text> <text class="tip_text_wrapper">如电子报告与纸质报告不相符请以纸质版报告为准</text>
</view> </view>
<view v-if="report_list.length>0" class="report_list_wrapper" :style="{top : !!report_status ? '222rpx' : '85rpx'}"> <view style="background-color: #fff ;padding: 0rpx 10rpx; display: flex; justify-content: space-around; font-size: 26rpx;color: #666;" >
<view style="display: flex;align-items: center;">
<view>开始</view>
<picker mode="date" :value="date_start" @change="StartDateChange"
style="border: 1px solid #ccc;border-radius: 12rpx;">
<view class="uni-input">{{date_start}}</view>
</picker>
</view>
<view style="display: flex;align-items: center;">
<view>结束</view>
<picker mode="date" :value="date_end" @change="EndDateChange" style="border: 1px solid #ccc;border-radius: 12rpx;">
<view class="uni-input">{{date_end}}</view>
</picker>
</view>
</view>
<view v-if="report_list.length>0" class="report_list_wrapper"
:style="{top : !!report_status ? '222rpx' : '145rpx'}">
<view @click="toReport(i.id)" class="report_item_wrapper" v-for="(i,k) in report_list" :key="k"> <view @click="toReport(i.id)" class="report_item_wrapper" v-for="(i,k) in report_list" :key="k">
<view class="report_item_icon_wrapper"> <view class="report_item_icon_wrapper">
<image :src="$image('/storage/assets/report/home/报告@2x.png')"></image> <image :src="$image('/storage/assets/report/home/报告@2x.png')"></image>
@ -245,4 +292,12 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
::v-deep.uni-input{
width: 160rpx;
height:30rpx !important;
line-height:30rpx !important;
}
</style> </style>
Loading…
Cancel
Save