按照需求修改(首页布局,足底,视频等)

This commit is contained in:
limengnan 2026-01-22 18:18:29 +08:00
parent 599d1f6807
commit e95c771171
13 changed files with 364 additions and 134 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,6 +1,7 @@
import { createApp } from 'vue';
import { createPinia } from 'pinia';
import ElementPlus from 'element-plus';
import zhCn from 'element-plus/es/locale/lang/zh-cn';
import 'element-plus/dist/index.css';
import * as ElementPlusIconsVue from '@element-plus/icons-vue';
import App from './App.vue';
@ -17,6 +18,8 @@ for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.use(pinia);
app.use(router);
app.use(ElementPlus);
app.use(ElementPlus, {
locale: zhCn
});
app.mount('#app');

View File

@ -136,7 +136,7 @@
<div class="AloneReportComparison-border1">{{ leftInfo.diagnosis_info }}</div>
<div class="AloneReportComparison-title2">处理</div>
<div class="AloneReportComparison-border2">{{ leftInfo.treatment_info }}</div>
<div class="AloneReportComparison-title2">备注</div>
<div class="AloneReportComparison-title2">建议</div>
<div class="AloneReportComparison-border3">{{ leftInfo.suggestion_info }}</div>
</div>
<div class="AloneReportComparison-container-rightbox">
@ -225,7 +225,7 @@
<div class="AloneReportComparison-border1">{{ rightInfo.diagnosis_info }}</div>
<div class="AloneReportComparison-title2">处理</div>
<div class="AloneReportComparison-border2">{{ rightInfo.treatment_info }}</div>
<div class="AloneReportComparison-title2">备注</div>
<div class="AloneReportComparison-title2">建议</div>
<div class="AloneReportComparison-border3">{{ rightInfo.suggestion_info }}</div>
</div>

View File

@ -445,6 +445,7 @@ const loadPatients = async (type) => {
})
if(type === '02' && patients.value[rowIndex.value] != null){
tableRef.value?.setCurrentRow(patients.value[rowIndex.value], true); // true
selectedPatient.value = patients.value[rowIndex.value]
}
if(type === '01' && patients.value[rowIndex.value] != null){
rowIndex.value = 0
@ -463,7 +464,6 @@ const loadPatients = async (type) => {
const lastcheck = mh && mh.lastcheck_time ? mh.lastcheck_time : ''
return { ...p, doctor, status, updated_at: lastcheck || p.updated_at }
})
debugger
if(type === '01' && patients.value[rowIndex.value] != null){
rowIndex.value = 0
tableRef.value?.setCurrentRow(patients.value[0], true); // true
@ -473,6 +473,7 @@ const loadPatients = async (type) => {
if(type === '02' && patients.value[rowIndex.value] != null){
tableRef.value?.setCurrentRow(patients.value[rowIndex.value], true); // true
selectedPatient.value = patients.value[rowIndex.value]
}
patienttotal.value =response.total
} else {

View File

@ -3,7 +3,6 @@
<Header />
<div class="displaycontainer">
<div class="displayleft" style="width: 550px;">
<img src="@/assets/detection/progress.png" alt="" style=" margin-left:10px;margin-right:15px">
<div style="
font-size: 18px;
@ -48,7 +47,7 @@
</div>
</div>
</div>
<div style="width:100%;height: calc(100% - 131px);" ref="contenGridRef">
<div style="width:100%;height: calc(100% - 115px);" ref="contenGridRef">
<!-- 主内容区域 -->
<el-row :gutter="15" style="padding: 10px;padding-top:0" >
<el-col :span="6" style="flex: 0 0 24%;height: calc(100% - 0px);">
@ -190,74 +189,93 @@
</div>
</div>
<div class="body-footbottom-box" ref="pressureRef">
<div class="body-footbottom-left">
<div style="width:100%;height: 50px;"></div>
<div class="body-footbottom-leftbottom">
<div class="body-footbottom-leftbox">
<span class="currencytext1">左前足</span>
<span class="currencytext2">
{{ footPressure.left_front }}%
</span>
<div style="width: 100%;height: calc(100% - 57px);display: flex; align-items: center;justify-content: center;">
<div class="body-footbottom-left">
<div style="width:100%;height: 50px;"></div>
<div class="body-footbottom-leftbottom">
<div class="body-footbottom-leftbox">
<span class="currencytext1">左前足</span>
<span class="currencytext2">
{{ footPressure.left_front }}%
</span>
</div>
<div class="body-footbottom-leftbox">
<span class="currencytext1">左后足</span>
<span class="currencytext2">
{{ footPressure.left_rear }}%
</span>
</div>
<!-- <div class="body-footbottom-leftbox">
<span class="currencytext1">左足总压力</span>
<span class="currencytext2">
{{ footPressure.left_total}}%
</span>
</div> -->
</div>
<div class="body-footbottom-leftbox">
<span class="currencytext1">左后足</span>
<span class="currencytext2">
{{ footPressure.left_rear }}%
</span>
</div>
<div class="body-footbottom-center">
<div class="body-footbottom-topbox">
<div class="currencytext1" style="font-size:22px;text-align:center;">左足</div>
<div class="currencytext1" style="font-size:22px;text-align:center;">右足</div>
</div>
<div class="body-footbottom-leftbox">
<span class="currencytext1">左足总压力</span>
<span class="currencytext2">
{{ footPressure.left_total}}%
</span>
<div style="position: relative;width: 100%;height:calc(100% - 60px) ;"
:class="(pressureStatus === '已连接' && footImgSrc)?'':'noImageSvg-bg'">
<img v-if="(pressureStatus === '已连接' && footImgSrc)" :src="footImgSrc" style="width: 100%;height: 100%;" alt="">
<div v-else style="width:90px;height:60px">
<img :src="noImageSvg" style="margin-left: 15px;">
<div style="font-size:14px;color:#ffffff99;text-align: center;">连接已断开</div>
</div>
<div class="xline"></div>
<div class="yline"></div>
<!-- <div v-if="(pressureStatus === '已连接' && footImgSrc)" class="xline"></div>
<div v-if="(pressureStatus === '已连接' && footImgSrc)" class="yline"></div> -->
</div>
</div>
<div class="body-footbottom-left">
<div style="width:100%;height: 50px;"></div>
<div class="body-footbottom-leftbottom">
<div class="body-footbottom-leftbox">
<span class="currencytext1">右前足</span>
<span class="currencytext2">
{{ footPressure.right_front }}%
</span>
</div>
<div class="body-footbottom-leftbox">
<span class="currencytext1">右后足</span>
<span class="currencytext2">
{{ footPressure.right_rear }}%
</span>
</div>
<!-- <div class="body-footbottom-leftbox">
<span class="currencytext1">右足总压力</span>
<span class="currencytext2">
{{ footPressure.right_total}}%
</span>
</div> -->
</div>
</div>
</div>
<div class="body-footbottom-center">
<div class="body-footbottom-topbox">
<div class="currencytext1" style="font-size:22px;text-align:center;">左足</div>
<div class="currencytext1" style="font-size:22px;text-align:center;">右足</div>
<div style="display: flex;justify-content: center; width: 100%;">
<div class="body-footbottom-leftbox" style="width:calc(22% + 2px)">
<span class="currencytext1">左足总压力</span>
<span class="currencytext2">
{{ footPressure.left_total}}%
</span>
</div>
<div style="position: relative;width: 100%;height:calc(100% - 60px) ;"
:class="(pressureStatus === '已连接' && footImgSrc)?'':'noImageSvg-bg'">
<img v-if="(pressureStatus === '已连接' && footImgSrc)" :src="footImgSrc" style="width: 100%;height: 100%;" alt="">
<div v-else style="width:90px;height:60px">
<img :src="noImageSvg" style="margin-left: 15px;">
<div style="font-size:14px;color:#ffffff99;text-align: center;">连接已断开</div>
</div>
<div v-if="(pressureStatus === '已连接' && footImgSrc)" class="xline"></div>
<div v-if="(pressureStatus === '已连接' && footImgSrc)" class="yline"></div>
</div>
</div>
<div class="body-footbottom-left">
<div style="width:100%;height: 50px;"></div>
<div class="body-footbottom-leftbottom">
<div class="body-footbottom-leftbox">
<span class="currencytext1">右前足</span>
<span class="currencytext2">
{{ footPressure.right_front }}%
</span>
</div>
<div class="body-footbottom-leftbox">
<span class="currencytext1">右后足</span>
<span class="currencytext2">
{{ footPressure.right_rear }}%
</span>
</div>
<div class="body-footbottom-leftbox">
<span class="currencytext1">右足总压力</span>
<span class="currencytext2">
{{ footPressure.right_total}}%
</span>
</div>
<div class="body-footbottom-leftbox" style="width:calc(22% + 2px);margin-left: 20px">
<span class="currencytext1">右足总压力</span>
<span class="currencytext2">
{{ footPressure.right_total}}%
</span>
</div>
</div>
</div>
</div>
</el-col>
<el-col v-if="camera1Status === '已连接' && camera2Status === '已连接'"
<el-col v-if=" false || camera1Status === '已连接' && camera2Status === '已连接'"
:span="6" style="flex: 0 0 24%;height: calc(100% - 0px); position: relative;">
<div class="body-userinfo-box" :class="isExpand == true?'body-userinfo-expandbox':''">
<div class="body-title-display">
@ -427,9 +445,9 @@
</div>
</div>
</el-col>
<el-col v-if="camera1Status === '已连接' || camera2Status === '已连接'"
:span="6" style="flex: 0 0 24%;height: calc(100% - 0px);">
<div class="body-userinfo-box1">
<el-col v-if="true || camera1Status === '已连接' || camera2Status === '已连接'"
:span="6" style="flex: 0 0 24%;height: calc(100% - 0px);position: relative;">
<div class="body-userinfo-box1" :class="isExpand == true?'body-userinfo-expandbox':''">
<div class="body-title-display">
<div class="body-son-display">
<img src="@/assets/detection/title4.png" alt="" style="margin-right: 8px;">
@ -441,7 +459,7 @@
<div class="body-userinfo-content-top">
<img src="@/assets/detection/useredit.png" alt="" title="编辑患者信息"
class="userinfo-edit-img" style="cursor: pointer;" @click="handleEditUserInfo">
class="userinfo-edit-img" style="cursor: pointer;" @click="handleEditUserInfo">
<div class="useravatar-box">
<img src="@/assets/detection/useravatar.svg" alt="">
</div>
@ -458,61 +476,116 @@
</div>
</div>
<div class="body-userinfo-content-bottom1">
<div class="userinfo-disyplaypadding4">
<div class="userinfo-text4">出生日期</div>
<div class="body-userinfo-content-bottom0" v-if="isExpand == false">
<img src="@/assets/detection/userinfo.png" alt=""
class="userinfo-edit-img" style="cursor: pointer;"
@click="viewClick(true)">
<div class="userinfo-disyplaypadding1 ">
<div class="userinfo-text4 padding10">出生日期</div>
<div class="userinfo-text5">
<span v-if="patientInfo && patientInfo.birth_date">
{{ formatDate(patientInfo.birth_date) }}
</span>
</div>
</div>
<div class="userinfo-disyplaypadding5">
<div class="userinfo-text4">身高</div>
<div class="userinfo-disyplaypadding2">
<div class="userinfo-text4 padding10">身高</div>
<div class="userinfo-text5">
{{ patientInfo.height ==''||patientInfo.height ==null ?'—':patientInfo.height}}cm
</div>
</div>
<div class="userinfo-disyplaypadding4">
<div class="userinfo-text4">体重</div>
<div class="userinfo-disyplaypadding1">
<div class="userinfo-text4 padding10">体重</div>
<div class="userinfo-text5">
{{ patientInfo.weight ==''||patientInfo.weight ==null ?'—':patientInfo.weight}}kg
</div>
</div>
<div class="userinfo-disyplaypadding5">
<div class="userinfo-text4">鞋码</div>
<div class="userinfo-disyplaypadding2">
<div class="userinfo-text4 padding10">鞋码</div>
<div class="userinfo-text5">
{{ patientInfo.shoe_size ==''||patientInfo.shoe_size ==null ?'—':patientInfo.shoe_size}}</div>
</div>
<div class="userinfo-disyplaypadding4">
<div class="userinfo-text4">电话</div>
<div class="userinfo-disyplaypadding1">
<div class="userinfo-text4 padding10">电话</div>
<div class="userinfo-text5">
{{ patientInfo.phone ==''||patientInfo.phone ==null ?'—':patientInfo.phone}}
</div>
</div>
<div class="userinfo-disyplaypadding5">
<div class="userinfo-text4">民族</div>
<div class="userinfo-disyplaypadding2">
<div class="userinfo-text4 padding10">民族</div>
<div class="userinfo-text5">
{{ patientInfo.nationality ==''||patientInfo.nationality ==null ?'—':patientInfo.nationality}}</div>
</div>
<div class="userinfo-disyplaypadding4">
<div class="userinfo-text4">身份证号</div>
<div class="userinfo-disyplaypadding1">
<div class="userinfo-text4 padding10">身份证号</div>
<div class="userinfo-text5">
{{ patientInfo.idcode ==''||patientInfo.idcode ==null ?'—':patientInfo.idcode}}
</div>
</div>
<div class="userinfo-disyplaypadding5">
<div class="userinfo-text4">职业</div>
<div class="userinfo-disyplaypadding2">
<div class="userinfo-text4 padding10">职业</div>
<div class="userinfo-text5">
{{ patientInfo.occupation ==''||patientInfo.occupation ==null ?'—':patientInfo.occupation}}</div>
</div>
<div class="userinfo-disyplaypadding6">
<div class="userinfo-text4">居住地</div>
</div>
<div class="body-userinfo-content-bottom2" v-if="isExpand == true">
<img src="@/assets/detection/userinfo.png" alt=""
class="userinfo-edit-img" style="cursor: pointer;"
@click="viewClick(false)">
<div class="userinfo-disyplaypadding1 ">
<div class="userinfo-text4 padding10">出生日期</div>
<div class="userinfo-text5">
<span v-if="patientInfo && patientInfo.birth_date">
{{ formatDate(patientInfo.birth_date) }}
</span>
</div>
</div>
<div class="userinfo-disyplaypadding2">
<div class="userinfo-text4 padding10">身高</div>
<div class="userinfo-text5">
{{ patientInfo.height ==''||patientInfo.height ==null ?'—':patientInfo.height}}cm
</div>
</div>
<div class="userinfo-disyplaypadding1">
<div class="userinfo-text4 padding10">体重</div>
<div class="userinfo-text5">
{{ patientInfo.weight ==''||patientInfo.weight ==null ?'—':patientInfo.weight}}kg
</div>
</div>
<div class="userinfo-disyplaypadding2">
<div class="userinfo-text4 padding10">鞋码</div>
<div class="userinfo-text5">
{{ patientInfo.shoe_size ==''||patientInfo.shoe_size ==null ?'—':patientInfo.shoe_size}}</div>
</div>
<div class="userinfo-disyplaypadding1">
<div class="userinfo-text4 padding10">电话</div>
<div class="userinfo-text5">
{{ patientInfo.phone ==''||patientInfo.phone ==null ?'—':patientInfo.phone}}
</div>
</div>
<div class="userinfo-disyplaypadding2">
<div class="userinfo-text4 padding10">民族</div>
<div class="userinfo-text5">
{{ patientInfo.nationality ==''||patientInfo.nationality ==null ?'—':patientInfo.nationality}}</div>
</div>
<div class="userinfo-disyplaypadding1">
<div class="userinfo-text4 padding10">身份证号</div>
<div class="userinfo-text5">
{{ patientInfo.idcode ==''||patientInfo.idcode ==null ?'—':patientInfo.idcode}}
</div>
</div>
<div class="userinfo-disyplaypadding2">
<div class="userinfo-text4 padding10">职业</div>
<div class="userinfo-text5">
{{ patientInfo.occupation ==''||patientInfo.occupation ==null ?'—':patientInfo.occupation}}</div>
</div>
<div class="userinfo-disyplaypadding3">
<div class="userinfo-text4 padding10">居住地</div>
<div class="userinfo-text5">
{{ patientInfo.residence ==''||patientInfo.residence ==null ?'—':patientInfo.residence}}</div>
</div>
<div class="userinfo-disyplaypadding6">
<div class="userinfo-text4">邮箱</div>
<div class="userinfo-disyplaypadding3">
<div class="userinfo-text4 padding10">邮箱</div>
<div class="userinfo-text5">
{{ patientInfo.email ==''||patientInfo.email ==null ?'—':patientInfo.email}}</div>
</div>
@ -520,7 +593,8 @@
</div>
</div>
</div>
<div class="body-video-box1">
<div class="body-video-box1" style="position: absolute; top: 522px; width: calc(100% - 15px);">
<div class="body-title-display">
<div class="body-son-display">
<img src="@/assets/detection/title5.png" alt="" style="margin-right: 8px;">
@ -535,14 +609,14 @@
</div>
</div>
</div>
<div class="body-video-content">
<div class="body-video-content" style="padding: 0;">
<div v-show="camera1Status === '已连接'" class="body-video-imgbox3" ref="camera1Ref" :class="(camera1Status === '已连接' && camera1ImgSrc)?'':'noImageSvg-bg'">
<div v-if="(camera1Status === '已连接' && camera1ImgSrc)"
@click="isBig1 = true" class="big-img">
<img src="@/assets/detection/big.png">
</div>
<img v-if="(camera1Status === '已连接' && camera1ImgSrc)" :src="camera1ImgSrc" alt="camera1"
style="width: 100%; height: 100%;" />
style="width: 100%; height: 100%;object-fit:contain;" />
<div v-else style="width:90px;height:60px">
<img :src="noImageSvg" style="margin-left: 15px;">
<div style="font-size:14px;color:#ffffff99;text-align: center;">连接已断开</div>
@ -554,7 +628,7 @@
<img src="@/assets/detection/big.png">
</div>
<img v-if="(camera2Status === '已连接' && camera2ImgSrc)" :src="camera2ImgSrc" alt="camera2"
style="width: 100%; height: 100%;" />
style="width: 100%; height: 100%;object-fit:contain;" />
<div v-else style="width:90px;height:60px">
<img :src="noImageSvg" style="margin-left: 15px;">
<div style="font-size:14px;color:#ffffff99;text-align: center;">连接已断开</div>
@ -563,7 +637,7 @@
</div>
</div>
</el-col>
<el-col v-if="camera1Status !== '已连接' && camera2Status !== '已连接'" :span="6" style="flex: 0 0 24%;height: calc(100% - 0px);">
<el-col v-if="false || camera1Status !== '已连接' && camera2Status !== '已连接'" :span="6" style="flex: 0 0 24%;height: calc(100% - 0px);">
<div class="body-userinfo-box3">
<div class="body-title-display">
<div class="body-son-display">
@ -710,6 +784,7 @@
<div class="pop-up-tip-text" v-if="!isVideoOperation">本次检测未截图或录像操作不予存档记录</div>
<div class="pop-up-tip-text" v-if="isVideoOperation">本次检测未截图操作存档记录不可生成报告</div>
<div class="tipconfirmbutton-box">
<div class="tipclosebutton" @click="handleCancel">取消</div>
<el-button type="primary" class="tipconfirmbutton" @click="closeTipClick">确定</el-button>
</div>
</div>
@ -2611,9 +2686,23 @@ const isPhotoAlbum = ref(false)
function closePhotoAlbum(){
isPhotoAlbum.value = false
}
function closecreatbox(e){
if(e === true){
loadPatientInfo()
function closecreatbox(e,info){
if(e === '编辑'){
patientInfo.value.age = info.age
patientInfo.value.birth_date = info.birth_date
patientInfo.value.email = info.email
patientInfo.value.gender = info.gender
patientInfo.value.height = info.height
patientInfo.value.id = info.id
patientInfo.value.idcode = info.idcode
patientInfo.value.name = info.name
patientInfo.value.nationality = info.nationality
patientInfo.value.occupation = info.occupation
patientInfo.value.phone = info.phone
patientInfo.value.residence = info.residence
patientInfo.value.shoe_size = info.shoe_size
patientInfo.value.weight = info.weight
// loadPatientInfo()
}
isCloseCreat.value = false
}
@ -2655,7 +2744,7 @@ function viewClick(e){
.displaycontainer {
width: 100%;
height: 62px;
height: 46px;
display: flex;
align-items: center;
justify-content: space-between;
@ -2825,10 +2914,8 @@ function viewClick(e){
text-align: left;
}
.body-footbottom-box{
display: flex;
align-items: center;
justify-content: center;
height: calc(100% - 70px);
height: calc(100% - 50px);
padding-bottom: 15px;
}
.body-footbottom-left{
width: 28%;
@ -2841,8 +2928,8 @@ function viewClick(e){
.body-footbottom-leftbox{
min-width: 215px;
width: 80%;
min-height: 60px;
height: 20%;
min-height: 57px;
height: 57px;
background: inherit;
background-color: rgba(255, 255, 255, 0.1);
border-radius: 4px;
@ -2852,8 +2939,8 @@ function viewClick(e){
padding: 0px 20px;
}
.body-footbottom-center{
width: 40%;
height: calc(100%);
width: 37%;
height: calc(100% - 0px);
}
.body-footbottom-topbox{
display: flex;
@ -2888,7 +2975,7 @@ function viewClick(e){
display: flex;
justify-content: center;
flex-wrap: wrap;
align-content:space-between ;
align-content:space-around;
}
.body-userinfo-box{
@ -2896,18 +2983,18 @@ function viewClick(e){
z-index: 10;
width: 100%;
height: 346px;
/* background: linear-gradient(135deg, rgba(42, 54, 73, 1) 0%, rgba(42, 54, 73, 1) 0%, rgba(34, 43, 56, 1) 100%, rgba(34, 43, 56, 1) 100%); */
background: linear-gradient(135deg, #1a1e2a 0%, #222b38 100%);
border: 1px solid #242E3D;
border-radius: 4px;
}
.body-userinfo-expandbox{
height: 638px ;
height: 680px !important;
}
.body-userinfo-box1{
position: relative;
z-index: 10;
width: 100%;
height: 534px ;
/* background: linear-gradient(135deg, rgba(42, 54, 73, 1) 0%, rgba(42, 54, 73, 1) 0%, rgba(34, 43, 56, 1) 100%, rgba(34, 43, 56, 1) 100%); */
height: 524px ;
background: linear-gradient(135deg, #1a1e2a 0%, #222b38 100%);
border: 1px solid #242E3D;
border-radius: 4px;
@ -2933,7 +3020,7 @@ function viewClick(e){
}
.body-video-box1{
width: 100%;
height: calc(100% - 534px - 14px) ;
height: calc(100% - 534px - 4px) ;
background: linear-gradient(135deg, #1a1e2a 0%, #222b38 100%);
border: 1px solid #242E3D;
border-radius: 4px;
@ -3070,10 +3157,10 @@ function viewClick(e){
}
.userinfo-disyplaypadding1{
width: calc(64%);
padding-bottom: 15px;
padding-bottom: 20px;
}
.padding10{
padding-bottom: 5px;
padding-bottom: 10px;
}
.userinfo-disyplaypadding2{
width: calc(36%);
@ -3308,6 +3395,25 @@ function viewClick(e){
background:#14aaff;
border:1px solid #14aaff;
}
.tipclosebutton{
width: 80px;
height: 40px;
background-color: #597194;
border-radius: 4px;
color: rgba(255, 255, 255, 0.6);
font-weight: 400;
font-style: normal;
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 20px;
cursor: pointer;
}
.tipclosebutton:hover{
background-color: #14aaff;
color: #fff;
}
.pop-up-tip-text{
width:100%;
font-weight: 400;

View File

@ -33,7 +33,7 @@
</el-form-item>
<el-form-item label="建议">
<div style="display: flex;width: 100%;">
<el-input v-model="diagnosticForm.suggestion_info" resize="none" :rows="5" type="textarea" placeholder="备注信息"
<el-input v-model="diagnosticForm.suggestion_info" resize="none" :rows="5" type="textarea" placeholder="建议信息"
style="margin-top:8px;width:calc(100% - 70px)" />
<div style="margin-top:8px;display:flex;align-items:center;">
<el-tooltip content="新增到常用项" placement="top">

View File

@ -213,7 +213,7 @@
<div class="generateReport-border1">{{ detectionInfo.diagnosis_info }}</div>
<div class="generateReport-title2">处理</div>
<div class="generateReport-border2">{{ detectionInfo.treatment_info }}</div>
<div class="generateReport-title2">备注</div>
<div class="generateReport-title2">建议</div>
<div class="generateReport-border3">{{ detectionInfo.suggestion_info }}</div>
</el-scrollbar>
@ -599,12 +599,12 @@ function closePopUpOnlyReport(e) {
.generateReport-border1{
padding: 5px;
width: 100%;
min-height: 200px;
/* min-height: 200px; */
background: rgba(255, 255, 255, 1);
box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: rgba(220, 223, 230, 1);
border-color: rgba(220, 223, 230, 0);
border-radius: 4px;
font-weight: 400;
font-style: normal;
@ -614,12 +614,12 @@ function closePopUpOnlyReport(e) {
}
.generateReport-border2{
width: 100%;
min-height: 40px;
/* min-height: 40px; */
background: rgba(255, 255, 255, 1);
box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: rgba(220, 223, 230, 1);
border-color: rgba(220, 223, 230, 0);
border-radius: 4px;
font-style: normal;
font-size: 18px;
@ -629,12 +629,12 @@ function closePopUpOnlyReport(e) {
}
.generateReport-border3{
width: 100%;
min-height: 120px;
/* min-height: 120px; */
background: rgba(255, 255, 255, 1);
box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: rgba(220, 223, 230, 1);
border-color: rgba(220, 223, 230, 0);
border-radius: 4px;
font-style: normal;
font-size: 18px;

View File

@ -1,7 +1,10 @@
<template>
<div class="login-page" :style="{ backgroundImage: `url(${bg})` }">
<div class="login-page" :style="{ backgroundImage: `url(${bg})` }"
style="display: flex;justify-content: space-around;align-items: center;">
<!-- <Model /> -->
<!-- 页面主内容 -->
<div style="width: 1000px ;height: 600px;"></div>
<div class="login-content">
<!-- 系统标题 -->
<div style="margin-right: 280px;margin-top: -100px;">
@ -195,7 +198,6 @@
</div>
<!-- 自定义错误提示弹窗 -->
<div v-if="showErrorDialog" class="error-dialog-overlay" @click="closeErrorDialog">
<div class="error-dialog" @click.stop>
@ -672,7 +674,7 @@ const copyPassword = async () => {
.login-content {
position: relative;
z-index: 10;
width: 100%;
/* width: 100%; */
height: 100%;
display: flex;
/* flex-direction: column; */

View File

@ -18,7 +18,10 @@
<img src="@/assets/archive/usericon.png" alt="" style="margin-right: 8px;">
<div class="profile-text">患者信息</div>
</div>
<div class="patientprofile-son-display"></div>
<div class="patientprofile-son-display">
<img src="@/assets/detection/useredit.png" alt="" title="编辑患者信息"
class="userinfo-edit-img" style="cursor: pointer;" @click="handleEditUserInfo">
</div>
</div>
<div class="patientprofile-userinfo-box">
<div class="patientprofile-userinfo-text1">性别</div>
@ -245,7 +248,13 @@
<div v-for="(item, index) in useVideoList" :key="index"
class="patientprofile-imgbox">
<div class="patientprofile-imgactive">
<video ref="videoPlayerRef" :src="item.screen_video ? BACKEND_URL+'/' + item.screen_video.replace(/\\/g, '/') : ''" controls width="100%" height="100%">
<div @click="playVideo(item)"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;
z-index: 1; cursor: pointer;">
</div>
<video :src="item.screen_video ? BACKEND_URL+'/' + item.screen_video.replace(/\\/g, '/') : ''" controls width="100%" height="100%">
您的浏览器不支持视频播放
</video>
</div>
@ -377,13 +386,9 @@
<div style="display:flex;gap:6px;">
<el-tooltip content="选中" placement="top">
<div class="selected-icon" @click="onPickTreatment(opt)" ></div>
<!-- <img src="@/assets/process/selected.png" alt="" @click="onPickTreatment(opt)"
style="cursor: pointer;margin-left: 10px;"> -->
</el-tooltip>
<el-tooltip content="删除" placement="top">
<div class="processdel-icon" @click="removeCommonItem('treatment',opt)" ></div>
<!-- <img src="@/assets/process/del.png" alt="" @click="removeCommonItem('treatment',opt)"
style="cursor: pointer;margin-left: 10px;"> -->
</el-tooltip>
</div>
</div>
@ -415,6 +420,51 @@
</div>
</template>
</el-dialog>
<el-dialog v-model="isVideoDialog" title="查看视频" width="calc(100%)" class="videoDialogVisible">
<div style="height: calc(100vh - 80px);">
<!-- :src="video1" -->
<video v-if="isVideoDialog"
:src="screen_video ? BACKEND_URL+'/' + screen_video.replace(/\\/g, '/') : ''"
controls
width="100%" height="100%">您的浏览器不支持视频播放</video>
<!-- <img
src="@/assets/video1.png" alt=""
style="position: absolute;bottom: 120px;right: 160px;cursor: pointer;"
title="查看视频1" @click="playFeetVideo('foot1')">
<img
src="@/assets/video2.png" alt=""
style="position: absolute;bottom: 120px;right: 100px;cursor: pointer;"
title="查看视频2" @click="playFeetVideo('foot2')"> -->
<!-- -->
<div style="position: absolute;bottom: 120px;right: 100px;">
<img
src="@/assets/video1.png" alt=""
v-if="videoInfo.foot_video1!=null && videoInfo.foot_video1!='' "
style="cursor: pointer;"
title="查看视频1" @click="playFeetVideo('foot1')">
<img
src="@/assets/video2.png" alt=""
v-if="videoInfo.foot_video2!=null && videoInfo.foot_video2!='' "
style="cursor: pointer;margin-left: 20px;"
title="查看视频2" @click="playFeetVideo('foot2')">
</div>
</div>
</el-dialog>
<el-dialog v-model="isVideoFeetDialog" title="查看视频" width="calc(100% - 80px)" class="videofeetDialogVisible">
<div style="height: calc(100vh - 120px);">
<video v-if="isVideoFeetDialog" ref="videoPlayerRef"
:src="screen_video ? BACKEND_URL+'/' + screen_video.replace(/\\/g, '/') : ''"
controls width="100%" height="100%">您的浏览器不支持视频播放</video>
</div>
</el-dialog>
<div class="creat-patient-box" v-if="isCloseCreat">
<PatientCreate @closecreatbox="closecreatbox" :patienttype="'edit'"
:selectedPatient="selectedPatient" v-if="isCloseCreat"/>
</div>
</div>
</template>
<script setup>
@ -431,6 +481,7 @@ import ImageDetails from '@/views/ImageDetails.vue'
import ViewPDF from '@/views/viewPDF.vue'
import ReportComparison from '@/views/ReportComparison.vue'
import AloneReportComparison from '@/views/AloneReportComparison.vue'
import PatientCreate from '@/views/PatientCreate.vue'
const recordDataRef = ref(null)
const formatDate = (date) => {
const d = new Date(date)
@ -439,6 +490,28 @@ const formatDate = (date) => {
const day = String(d.getDate()).padStart(2, '0')
return `${y}-${m}-${day}`
}
const isVideoDialog = ref(false) //
const isVideoFeetDialog = ref(false) //
const screen_video = ref('') //
const foot_video = ref('') //
const videoInfo = ref({})
function playVideo(item) { //
videoInfo.vue = item
screen_video.value = item.screen_video
isVideoDialog.value = true
}
function playFeetVideo(type) { //
if(type === 'foo1'){
foot_video.value = videoInfo.vue.foot_video1
}else{
foot_video.value = videoInfo.vue.foot_video2
}
isVideoFeetDialog.value = true
}
//
const BACKEND_URL = getBackendUrl()
const emit = defineEmits([ 'endChange']);
@ -636,6 +709,7 @@ function selectRecord(data){
const handleSelectionChange = (val) => { //
selectedData.value = val
}
const selectedPatient = ref(props.selectedPatient)
const sessionsInit = async () => {
try {
@ -1035,8 +1109,30 @@ historyAPI.VideoDelById(ids).then((response)=>{
}).catch(()=>{
})
}
const isCloseCreat = ref(false)
function handleEditUserInfo(){
isCloseCreat.value = true
}
function closecreatbox(e,info){
if(e === '编辑'){
selectedPatient.value.age = info.age
selectedPatient.value.birth_date = info.birth_date
selectedPatient.value.email = info.email
selectedPatient.value.gender = info.gender
selectedPatient.value.height = info.height
selectedPatient.value.id = info.id
selectedPatient.value.idcode = info.idcode
selectedPatient.value.name = info.name
selectedPatient.value.nationality = info.nationality
selectedPatient.value.occupation = info.occupation
selectedPatient.value.phone = info.phone
selectedPatient.value.residence = info.residence
selectedPatient.value.shoe_size = info.shoe_size
selectedPatient.value.weight = info.weight
}
isCloseCreat.value = false
}
</script>
<style scoped>
@ -1443,6 +1539,7 @@ historyAPI.VideoDelById(ids).then((response)=>{
align-items: center;
border: 2px solid transparent;
border-radius: 4px;
position: relative;
}
.patientprofile-imgactive:hover{
border: 2px solid #0b94d5;
@ -1799,4 +1896,25 @@ historyAPI.VideoDelById(ids).then((response)=>{
.patient-profile-container .patientprofile-container .el-table .el-table__row.current-row:last-child td{
border-bottom:1px solid #14aaff
}
.creat-patient-box{
position: fixed;
z-index: 99;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: rgba(0, 0, 0, 0.7);
}
.videoDialogVisible.el-dialog{
margin-top:0px;
margin-bottom: 0px;
/* padding: 16px; */
}
.videofeetDialogVisible.el-dialog{
margin-top:20px;
margin-bottom: 0px;
}
</style>

View File

@ -140,7 +140,7 @@
<div class="PopUpOnlyReport-border1">{{ detectionInfo.diagnosis_info }}</div>
<div class="PopUpOnlyReport-title2">处理</div>
<div class="PopUpOnlyReport-border2">{{ detectionInfo.treatment_info }}</div>
<div class="PopUpOnlyReport-title2">备注</div>
<div class="PopUpOnlyReport-title2">建议</div>
<div class="PopUpOnlyReport-border3">{{ detectionInfo.suggestion_info }}</div>
<div class="PopUpOnlyReport-footer">
<div style="margin-right: 80px;">报告时间{{ getFormattedTime() }}</div>

View File

@ -210,7 +210,7 @@
<div class="PopUpReport-border1">{{ detectionInfo.diagnosis_info }}</div>
<div class="PopUpReport-title2">处理</div>
<div class="PopUpReport-border2">{{ detectionInfo.treatment_info }}</div>
<div class="PopUpReport-title2">备注</div>
<div class="PopUpReport-title2">建议</div>
<div class="PopUpReport-border3">{{ detectionInfo.suggestion_info }}</div>
<div class="PopUpReport-footer">
<div style="margin-right: 80px;">报告时间{{ getFormattedTime() }}</div>

View File

@ -221,7 +221,7 @@
<div class="ReportComparison-border1">{{ leftInfo.diagnosis_info }}</div>
<div class="ReportComparison-title2">处理</div>
<div class="ReportComparison-border2">{{ leftInfo.treatment_info }}</div>
<div class="ReportComparison-title2">备注</div>
<div class="ReportComparison-title2">建议</div>
<div class="ReportComparison-border3">{{ leftInfo.suggestion_info }}</div>
</div>
<div class="ReportComparison-containerdisplay">
@ -394,7 +394,7 @@
<div class="ReportComparison-border1">{{ rightInfo.diagnosis_info }}</div>
<div class="ReportComparison-title2">处理</div>
<div class="ReportComparison-border2">{{ rightInfo.treatment_info }}</div>
<div class="ReportComparison-title2">备注</div>
<div class="ReportComparison-title2">建议</div>
<div class="ReportComparison-border3">{{ rightInfo.suggestion_info }}</div>
</div>