截图传足部压力尺寸,图片相册添加假数据和样式

This commit is contained in:
limengnan 2026-01-09 18:54:59 +08:00
parent a08f666306
commit 2accaa48a6
2 changed files with 78 additions and 30 deletions

View File

@ -189,7 +189,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="body-footbottom-box" ref=""> <div class="body-footbottom-box" ref="pressureRef">
<div class="body-footbottom-left"> <div class="body-footbottom-left">
<div style="width:100%;height: 50px;"></div> <div style="width:100%;height: 50px;"></div>
<div class="body-footbottom-leftbottom"> <div class="body-footbottom-leftbottom">
@ -924,6 +924,7 @@ const contenGridRef =ref(null) // 实时检查整体box
const wholeBodyRef = ref(null) // 姿ref const wholeBodyRef = ref(null) // 姿ref
const camera1Ref = ref(null) const camera1Ref = ref(null)
const camera2Ref = ref(null) const camera2Ref = ref(null)
const pressureRef = ref(null)
const historyDialogVisible = ref(false) const historyDialogVisible = ref(false)
// API // API
const patientInfo = ref({ const patientInfo = ref({
@ -1993,6 +1994,13 @@ async function saveDetectionData() {
pressure_image = tempInfo.value.pressure_data.foot_pressure.pressure_image pressure_image = tempInfo.value.pressure_data.foot_pressure.pressure_image
foot_data = tempInfo.value.pressure_data.foot_pressure.pressure_zones foot_data = tempInfo.value.pressure_data.foot_pressure.pressure_zones
} }
let pressureBox = pressureRef.value?.getBoundingClientRect()
let titile_height = 24
pressure_image =[
Math.round(pressureBox.x), Math.round(pressureBox.y)+ titile_height,
Math.round(pressureBox.width), Math.round(pressureBox.height)
]
let foot1_image="" let foot1_image=""
if(tempInfo.value.camera1_frame != null if(tempInfo.value.camera1_frame != null
&& tempInfo.value.camera1_frame.image != null ){ && tempInfo.value.camera1_frame.image != null ){

View File

@ -1,4 +1,5 @@
<template> <template>
<div>
<div class="PhotoAlbum-box"> <div class="PhotoAlbum-box">
<div class="PhotoAlbum-header"> <div class="PhotoAlbum-header">
<div>图片相册</div> <div>图片相册</div>
@ -6,7 +7,9 @@
@click="handleCancel"> @click="handleCancel">
</div> </div>
<div class="PhotoAlbum-imgul"> <div class="PhotoAlbum-imgul">
<el-checkbox-group v-model="checkboxGroup" size="large" @change="selectedChange" > <el-checkbox-group v-model="checkboxGroup" size="large" @change="selectedChange" style=" display: flex;
flex-wrap:wrap ;
align-content: flex-start;">
<div v-for="(item, index) in useImgList" :key="index" <div v-for="(item, index) in useImgList" :key="index"
class="PhotoAlbum-imgbox"> class="PhotoAlbum-imgbox">
<div class="PhotoAlbum-imgactive" @click="clickImg(item,index)"> <div class="PhotoAlbum-imgactive" @click="clickImg(item,index)">
@ -22,23 +25,45 @@
</div> </div>
</el-checkbox-group> </el-checkbox-group>
</div> </div>
<div style="display: flex;justify-content: flex-end;padding-right: 70px;padding-top: 20px;">
<div class="delButton">
<div>删除</div>
</div>
</div>
</div>
{{ isImageDetails }}
<ImageDetails v-if="isImageDetails" :ImageDetailsList="imageList" :selectIndex="selectIndex" <ImageDetails v-if="isImageDetails" :ImageDetailsList="imageList" :selectIndex="selectIndex"
@closeImageDetails="closeImageDetails"/> @closeImageDetails="closeImageDetails"/>
</div> </div>
</template> </template>
<script setup> <script setup>
import { ref, reactive, onMounted } from 'vue' import { ref, reactive, onMounted } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
import { historyAPI,getBackendUrl } from '@/services/api.js' import { historyAPI,getBackendUrl } from '@/services/api.js'
import ImageDetails from '@/views/ImageDetails.vue'
const emit = defineEmits([ 'closePhotoAlbum']); const emit = defineEmits([ 'closePhotoAlbum']);
const BACKEND_URL = getBackendUrl() const BACKEND_URL = getBackendUrl()
const checkboxGroup = ref([]) // const checkboxGroup = ref([]) //
const useImgList = ref([]) // const useImgList = ref([]) //
for(let i=0; i<10; i++){
useImgList.value.push({
id:i
})
}
const selectIndex = ref(0) // const selectIndex = ref(0) //
const isImageDetails = ref(false) // const isImageDetails = ref(false) //
const imageList = ref([]) // const imageList = ref([]) //
for(let i=0; i<10; i++){
imageList.value.push({
id:i
})
}
function closeImageDetails(){ //
isImageDetails.value = false
}
function clickImg(item,index){ // function clickImg(item,index){ //
selectIndex.value = index selectIndex.value = index
isImageDetails.value =true isImageDetails.value =true
@ -53,9 +78,7 @@ function getTime(time){ // 时间格式转换
const handleCancel = () => { const handleCancel = () => {
emit('closePhotoAlbum'); emit('closePhotoAlbum');
} }
function closeImageDetails(){ //
isImageDetails.value = false
}
</script> </script>
@ -91,17 +114,20 @@ function closeImageDetails(){ // 关闭图片对比页面
} }
.PhotoAlbum-imgul{ .PhotoAlbum-imgul{
width: 100%; width: 100%;
height: calc(100% - 140px); height: calc(100% - 160px);
/* background: red; */ /* background: red; */
margin-top: 10px; margin-top: 20px;
padding:0px 57px;
display: flex; display: flex;
flex-wrap:wrap ; flex-wrap:wrap ;
align-content: flex-start; align-content: flex-start;
overflow: auto;
} }
.PhotoAlbum-imgbox{ .PhotoAlbum-imgbox{
width: 23%; width: 274px;
height: 100%; height: 185px;
margin-bottom: 5px;
} }
.PhotoAlbum-imgactive{ .PhotoAlbum-imgactive{
width: 100%; width: 100%;
@ -120,4 +146,18 @@ function closeImageDetails(){ // 关闭图片对比页面
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
} }
.delButton{
width: 80px;
height: 40px;
background-color: rgba(89, 113, 148, 1);
font-family: 'Noto Sans SC', sans-serif;
font-weight: 400;
font-style: normal;
font-size: 14px;
color: rgba(255, 255, 255, 0.6);
border-radius: 4px;
display: flex;
justify-content: center;
align-items: center;
}
</style> </style>