From 8635962f39c2d896cd521dc794d97d34a8f60ed6 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期三, 13 八月 2025 20:11:23 +0800
Subject: [PATCH] 增加宣教页面
---
src/views/record/index.vue | 298 ++++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 213 insertions(+), 85 deletions(-)
diff --git a/src/views/record/index.vue b/src/views/record/index.vue
index 3b88dc4..0a752db 100644
--- a/src/views/record/index.vue
+++ b/src/views/record/index.vue
@@ -9,6 +9,8 @@
<div>
<van-calendar
color="#769AFF"
+ :min-date="minDate"
+ @month-show="monthShow"
:poppable="false"
:show-confirm="false"
@select="selectData"
@@ -17,148 +19,274 @@
:style="{ height: '400px' }"
/>
</div>
- <div class="listdiv">
+ <van-loading v-if="loand" size="24" />
+ <div class="listdiv" v-else>
<div class="listrow">
<van-row>
<van-row class="lable">
<van-col span="8">
- <span style="color: #777777;">状态:</span>
- <span style="color: #769AFF;">透析完成</span>
+ <span style="color: #777;">状态:</span>
+ <span v-if="pageInfo.medState === 0" style="color: #769aff;">未签到</span>
+ <span v-if="pageInfo.medState === 1" style="color: #769aff;">已签到</span>
+ <span v-if="pageInfo.medState === 2 || pageInfo.medState === 2.5" style="color: #769aff;">透析中</span>
+ <span v-if="pageInfo.medState === 3" style="color: #769aff;">已检查</span>
+ <span v-if="pageInfo.medState === 4" style="color: #769aff;">已归档</span>
</van-col>
<van-col span="8">
- <span style="color: #777777;">上机:</span>
- <span style="color: #769AFF;">8:00</span>
+ <span style="color: #777;">上机:</span>
+ <span style="color: #769aff;">{{pageInfo.detailForPatientMedStartTime.substring(11,16)}}</span>
</van-col>
<van-col span="8">
- <span style="color: #777777;">下机:</span>
- <span style="color: #769AFF;">12:00</span>
+ <span style="color: #777;">下机:</span>
+ <span style="color: #769aff;">{{pageInfo.detailForPatientMedEndTime.substring(11,16)}}</span>
</van-col>
</van-row>
<van-row class="lable">
<van-col span="8">
- <span style="color: #777777;">班次:</span>
- <span style="color: #769AFF;">上午</span>
+ <span style="color: #777;">班次:</span>
+ <span v-if="pageInfo.scheduleTimeSlot === 0" style="color: #769aff;">上午</span>
+ <span v-if="pageInfo.scheduleTimeSlot === 1" style="color: #769aff;">下午</span>
+ <span v-if="pageInfo.scheduleTimeSlot === 2" style="color: #769aff;">晚上午</span>
</van-col>
<van-col span="8">
- <span style="color: #777777;">机号:</span>
- <span style="color: #769AFF;">12</span>
+ <span style="color: #777;">机号:</span>
+ <span style="color: #769aff;">{{pageInfo.deviceInfo.deviceNo}}</span>
</van-col>
<van-col span="8">
- <span style="color: #777777;">模式:</span>
- <span style="color: #769AFF;">HD</span>
+ <span style="color: #777;">模式:</span>
+ <span style="color: #769aff;">{{pageInfo.schemeName}}</span>
</van-col>
</van-row>
<van-row class="lable2">
<van-col span="8">
- <span style="color: #777777;">次数:</span>
- <span style="color: #769AFF;">65</span>
+ <span style="color: #777;">次数:</span>
+ <span style="color: #769aff;">{{pageInfo.historyCount}}</span>
</van-col>
<van-col span="8">
- <span style="color: #777777;">本次费用:</span>
- <span style="color: #769AFF;">---</span>
+ <span style="color: #777;">本次费用:</span>
+ <span style="color: #769aff;">---</span>
</van-col>
</van-row>
</van-row>
<van-row class="item">
<van-col span="12">干体重:</van-col>
- <van-col span="12" style="text-align: right; color: #769AFF ;">78.6(kg)</van-col>
+ <van-col span="12" style="text-align: right; color: #769aff ;">{{pageInfo.pureWeight}}(kg)</van-col>
</van-row>
<van-row class="item">
<van-col span="12">衣物重:</van-col>
- <van-col span="12" style="text-align: right; color: #769AFF ;">0.6(kg)</van-col>
+ <van-col span="12" style="text-align: right; color: #769aff ;">{{pageInfo.detailForPatientClothesWeight}}(kg)</van-col>
+ </van-row>
+ <van-row class="item">
+ <van-col span="12">透前称重:</van-col>
+ <van-col span="12" style="text-align: right; color: #769aff ;">{{pageInfo.detailForPatientPreWeight}}(kg)</van-col>
+ </van-row>
+ <van-row class="item">
+ <van-col span="12">透后称重:</van-col>
+ <van-col span="12" style="text-align: right; color: #769aff ;">{{pageInfo.detailForPatientAfterWeight}}(kg)</van-col>
+ </van-row>
+ <van-row class="item">
+ <van-col span="12">透前血压:</van-col>
+ <van-col span="12" style="text-align: right; color: #769aff ;">{{pageInfo.detailForPatientPreBP}}(mmHg)</van-col>
+ </van-row>
+ <van-row class="item">
+ <van-col span="12">透前心率:</van-col>
+ <van-col span="12" style="text-align: right; color: #769aff ;">{{pageInfo.detailForPatientPrePulse}}(次/分)</van-col>
+ </van-row>
+ <van-row class="item">
+ <van-col span="12">透后血压:</van-col>
+ <van-col span="12" style="text-align: right; color: #769aff ;">{{pageInfo.detailForPatientAfterBP}}(mmHg)</van-col>
+ </van-row>
+ <van-row class="item">
+ <van-col span="12">透后心率:</van-col>
+ <van-col span="12" style="text-align: right; color: #769aff ;">{{pageInfo.detailForPatientAfterPulse}}(次/分)</van-col>
+ </van-row>
+ <van-row class="item">
+ <van-col span="12">抗凝剂:</van-col>
+ <van-col span="12" style="text-align: right; color: #769aff ;">{{pageInfo.detailForPatientKNJ}}</van-col>
</van-row>
</div>
</div>
</div>
</template>
<script lang="ts" setup>
- // import {ref,reactive,watchEffect,watch} from 'vue'
- import { Calendar as vanCalendar } from 'vant'
+ import {ref} from 'vue'
+ import {ajaxPost} from '@/utils/axios'
+ import { Calendar as vanCalendar, Toast } from 'vant'
import {useRouter} from 'vue-router'
+ import { userInfoStore } from '@/stores/userInfo'
+ const userInfo = userInfoStore()
const router=useRouter()
- const selectData=(data:any)=>{
- console.log(data)
+ const loand=ref(false)
+ const pageInfo=ref({pureWeight:'',
+ detailForPatientAfterBP: '',
+ detailForPatientAfterPulse: '',
+ detailForPatientAfterWeight:'',
+ detailForPatientPreBP: '',
+ detailForPatientPrePulse: '',
+ detailForPatientPreWeight:'',
+ detailForPatientKNJ:'',
+ detailForPatientClothesWeight:'',
+ schemeName:'',medState:0,detailForPatientMedCount:0,deviceInfo:{deviceName:''},scheduleTimeSlot:0,detailForPatientMedEndTime:'',detailForPatientMedStartTime:''})
+ const day=new Date()
+ const Year = day.getFullYear()
+ const minDate=ref( new Date(Date.parse(Year+'-01-01'.replace(/-/g, '/'))))
+ const selectDate=ref([{y:2000,m:1,d:1,type:'',code:'',id:0,timeSlot:1,scheduleDay:''}])
+ const selectData=(day:any)=>{
+ const y=day.getFullYear()
+ const m = day.getMonth() + 1
+ const d = day.getDate()
+ const x=selectDate.value.findIndex(e=>{return e.y===y&&e.m===m&&e.d===d})
+ console.log(selectDate.value[x],'找到了')
+ if (x===-1){
+
+ Toast('没有排班信息,请选择其他日期!')
+ }
+ else {
+ getDetail(selectDate.value[x].id)
+ }
+
+
}
const fanhui=()=>{
router.go(-1)
}
+ const getPaiban=(date:Date)=>{
+ const y=date.getFullYear()
+ const m= date.getMonth()+1
+ const pagedata={
+ patientCode:userInfo.patient.patientInfo.code,
+ year:y,
+ month:m,
+ }
+ ajaxPost('/patient/hemo/med/record/listByPatient',pagedata).then((re:any)=>{
+ console.log(re)
+ re.forEach((element:any) => {
+ const dey=element.scheduleDate.split('-')
+ // 不能添加重复的
+ const x=selectDate.value.findIndex(e=>{return e.code===element.code})
+ if (x===-1){
+ selectDate.value.push({
+ y:Number(dey[0]),
+ m:Number(dey[1]),
+ d:Number(dey[2].substring(0,2)),
+ type:'o',
+ timeSlot:element.scheduleTimeSlot,
+ code:element.code,
+ scheduleDay:element.scheduleDay,
+ id:element.id
+
+ })
+ }
+
+ })
+ selectDate.value= selectDate.value.sort((a,b)=>new Date(b.scheduleDay)-new Date(a.scheduleDay))
+ console.log(selectDate.value)
+ })
+ }
+ const monthShow=(month:any)=>{
+ console.log(month)
+ getPaiban(month.date)
+ }
const formatter=(day:any)=>{
+ const year=day.date.getFullYear()
const month = day.date.getMonth() + 1
const date = day.date.getDate()
- if (month === 9) {
- if (date === 24) {
- day.bottomInfo='8:30'
- day.className='recordclass'
- } else if (date === 27) {
- day.bottomInfo='13:00'
- day.className='recordclass'
+ const index= selectDate.value.findIndex(el=>{return el.y===year&&el.m===month&&el.d===date})
+ if (index>0){
+ day.type='selected'
+ if (selectDate.value[index].timeSlot===0){
+ day.bottomInfo='上午'
+ }
+ else if (selectDate.value[index].timeSlot===1){
+ day.bottomInfo='上午'
+ }
+ else {
+ day.bottomInfo='晚上'
}
}
return day
}
+ const getDetail=(id:any)=>{
+ loand.value=true
+ ajaxPost('/patient/hemo/med/record/detailForMobile',`id=${id}`).then((re:any)=>{
+ console.log(re)
+ pageInfo.value=re
+ loand.value=false
+ }).finally(()=>{
+ loand.value=false
+ })
+ }
</script>
<style lang="scss">
- .recordclass{
- // background: rgb(228, 231, 225);
- color: blue;
- }
- .record{
- background-color: #F6FAFF;
- padding: 0;
- }
- .listdiv{
- margin-top: 20px;
- .listrow{
- margin-top: 10px;
- width: 94%;
- margin-left: 3%;
- height: 129px;
- background: #FFFFFF;
- box-shadow: 0px 2px 4px 0px rgba(70,150,249,0.1);
- border-radius: 8px;
- .lable{
- width: 90%;
- margin-left: 5%;
- height: 40px;
- font-size: 13px;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #AAAAAA;
- line-height: 40px;
- border-bottom:#F1F1F2 solid 1px;
- }
- .lable2{
- width: 90%;
- margin-left: 5%;
- height: 40px;
- font-size: 13px;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #AAAAAA;
- line-height: 40px;
- }
- .item{
- margin-top: 20px;
- width: 90%;
- margin-left: 5%;
- height: 40px;
- font-size: 13px;
- font-family: PingFangSC-Medium, PingFang SC;
- font-weight: 500;
- color: #333333;
- line-height: 40px;
- background: #FFFFFF;
- border-bottom:#F1F1F2 solid 1px;
- }
+.recordclass {
+ // background: rgb(228, 231, 225);
+ color: #00f;
+}
+
+.record {
+ background-color: #f6faff;
+ padding: 0;
+}
+
+.listdiv {
+ margin-top: 20px;
+
+ .listrow {
+ margin-top: 10px;
+ width: 94%;
+ margin-left: 3%;
+ height: 129px;
+ background: #fff;
+ box-shadow: 0 2px 4px 0 rgba(70, 150, 249, 0.1);
+ border-radius: 8px;
+
+ .lable {
+ width: 90%;
+ margin-left: 5%;
+ height: 40px;
+ font-size: 13px;
+ font-family: Arial, sans-serif;
+ font-weight: 400;
+ color: #aaa;
+ line-height: 40px;
+ border-bottom: #f1f1f2 solid 1px;
+ }
+
+ .lable2 {
+ width: 90%;
+ margin-left: 5%;
+ height: 40px;
+ font-size: 13px;
+ font-family: Arial, sans-serif;
+ font-weight: 400;
+ color: #aaa;
+ line-height: 40px;
+ margin-bottom: 10px;
+ }
+
+ .item {
+ // margin-top: 10px;
+ width: 90%;
+ margin-left: 5%;
+ height: 30px;
+ font-size: 13px;
+ font-family: Arial, sans-serif;
+ font-weight: 500;
+ color: #333;
+ line-height: 30px;
+ background: #fff;
+ border-bottom: #f1f1f2 solid 1px;
}
}
- .fanhui{
+}
+
+.fanhui {
// padding-top: 20px;
width: 100%;
- background: #4696F9;
+ background: #4696f9;
text-align: center;
border-radius: 5px;
- color:#FFFFFF;
+ color: #fff;
height: 36px;
line-height: 36px;
}
--
Gitblit v1.8.0