修改样式,根据需求修改

This commit is contained in:
limengnan 2026-01-12 11:03:06 +08:00
parent 5ed15ce017
commit df63b22e7a
6 changed files with 96 additions and 75 deletions

View File

@ -10,7 +10,7 @@
<div class="patient-section">
<div class="section-header">
<div class="search-box">
<el-input v-model="search" placeholder="搜索患者姓名" class="search-input"/>
<el-input v-model="search" placeholder="搜索患者姓名" class="search-input" @keyup.enter="handleSearch"/>
<div class="primary-search-buttons" :class="search != ''?'primary-searchactive-buttons':''" @click="handleSearch">
搜索
</div>

View File

@ -755,11 +755,11 @@
<div class="pop-up-camera-name">相机上</div>
<el-radio-group v-model="cameraForm.camera1.device_index">
<div style="display: flex;justify-content: space-between;width: 435px;">
<el-radio :value="0" border>0</el-radio>
<el-radio :value="1" border>1</el-radio>
<el-radio :value="2" border>2</el-radio>
<el-radio :value="3" border>3</el-radio>
<el-radio :value="4" border>4</el-radio>
<el-radio :value="0" border>1</el-radio>
<el-radio :value="1" border>2</el-radio>
<el-radio :value="2" border>3</el-radio>
<el-radio :value="3" border>4</el-radio>
<el-radio :value="4" border>5</el-radio>
</div>
</el-radio-group>
<el-checkbox v-model="cameraForm.camera1.enable" label="有效" size="large" style="width: 60px;margin-left:10px ;" />
@ -768,11 +768,11 @@
<div class="pop-up-camera-name">相机下</div>
<el-radio-group v-model="cameraForm.camera2.device_index">
<div style="display: flex;justify-content: space-between;width: 435px;">
<el-radio :value="0" border>0</el-radio>
<el-radio :value="1" border>1</el-radio>
<el-radio :value="2" border>2</el-radio>
<el-radio :value="3" border>3</el-radio>
<el-radio :value="4" border>4</el-radio>
<el-radio :value="0" border>1</el-radio>
<el-radio :value="1" border>2</el-radio>
<el-radio :value="2" border>3</el-radio>
<el-radio :value="3" border>4</el-radio>
<el-radio :value="4" border>5</el-radio>
</div>
</el-radio-group>
<el-checkbox v-model="cameraForm.camera2.enable" label="有效" size="large" style="width: 60px;margin-left:10px ;" />
@ -810,15 +810,18 @@
@closePatientProfile="closePatientProfile"/>
<div v-if="isBig1" style="position: fixed;top: 122px;right: 0;
background: #323232;
width: 100%;height:calc(100% - 122px);z-index: 9999;border: 2px solid #b0b0b0">
width: 100%;height:calc(100% - 122px);z-index: 9999;
background: linear-gradient(135deg, #1a1e2a 0%, #222b38 100%);
border: 1px solid #262d40;">
<svg @click="isBig1=false" style="position: absolute;right: 10px;top:10px;cursor: pointer;" t="1760175800150" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5743" width="24" height="24"><path d="M796 163.1L511.1 448l-285-285-63.9 64 285 285-285 285 63.8 63.8 285-285 285 285 63.8-63.8-285-285 285-285-63.8-63.9z" fill="#ffffff" p-id="5744"></path></svg>
<img v-if="isBig1" :src="camera1ImgSrc" alt=""
style="width: 100%;height: calc(100%);object-fit:contain;background:#323232;" />
</div>
<div v-if="isBig2" style="position: fixed;top: 122px;right: 0;
width: 100%;height:calc(100% - 122px);z-index: 9999;background: #323232;border: 2px solid #b0b0b0">
width: 100%;height:calc(100% - 122px);z-index: 9999;
background: linear-gradient(135deg, #1a1e2a 0%, #222b38 100%);
border: 1px solid #262d40;">
<svg @click="isBig2=false" style="position: absolute;right: 10px;top:10px;cursor: pointer;" t="1760175800150" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5743" width="24" height="24"><path d="M796 163.1L511.1 448l-285-285-63.9 64 285 285-285 285 63.8 63.8 285-285 285 285 63.8-63.8-285-285 285-285-63.8-63.9z" fill="#ffffff" p-id="5744"></path></svg>
<img v-if="isBig2" :src="camera2ImgSrc" alt=""
style="width: 100%;height: calc(100%);object-fit:contain;background:#323232;" />
@ -1409,7 +1412,7 @@ function connectWebSocket() {
devicesSocket.on('device_restart_message', (data) => {
ElMessage.success({
message: data.message,
duration: 5000
duration: 1000
})
})
@ -1996,7 +1999,7 @@ async function saveDetectionData() {
//
ElMessage.success({
message: `检测数据保存成功!`,
duration: 5000
duration: 500
})
@ -2277,6 +2280,10 @@ const calibrationClick = async () => {
}
const cameraSubmit = async () => {
if(cameraForm.value.camera1.device_index == cameraForm.value.camera2.device_index){
ElMessage.error('相机上和相机下的号码不能相同!')
return
}
const response = await fetch(`${BACKEND_URL}/api/config/devices/all`, {
method: 'POST',
headers: {

View File

@ -1962,22 +1962,24 @@ const calibrationClick = async () => {
}
const cameraSubmit = async () => {
const response = await fetch(`${BACKEND_URL}/api/config/devices/all`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(cameraForm.value)
})
if (response.ok) {
const result = await response.json()
if (result.success) {
ElMessage.success(result.message)
cameraDialogVisible.value = false
} else {
ElMessage.error(result.message)
}
}
console.log(cameraForm.value)
debugger
// const response = await fetch(`${BACKEND_URL}/api/config/devices/all`, {
// method: 'POST',
// headers: {
// 'Content-Type': 'application/json'
// },
// body: JSON.stringify(cameraForm.value)
// })
// if (response.ok) {
// const result = await response.json()
// if (result.success) {
// ElMessage.success(result.message)
// cameraDialogVisible.value = false
// } else {
// ElMessage.error(result.message)
// }
// }
}
//

View File

@ -9,10 +9,12 @@
<img src="@/assets/archive/leftbutton.png" alt="">
</div>
<div class="ImageDetails-content-imgbox" v-if="indexActive == 0">
<img :src="BACKEND_URL+'/' + ImageDetailsInfo.screen_image" alt="" style="width: 100%;height: 100%;object-fit:contain;">
<img :src="BACKEND_URL+'/' + ImageDetailsInfo.screen_image" alt=""
style="max-width: 100%;max-height: 100%;object-fit:contain;">
</div>
<div class="ImageDetails-content-imgbox" v-if="indexActive == 1">
<img :src="BACKEND_URL+'/' + ImageDetailsInfo.body_image" alt="" style="width: 100%;height: 100%;object-fit:contain;">
<img :src="BACKEND_URL+'/' + ImageDetailsInfo.body_image" alt=""
style="max-width: 100%;max-height: 100%;object-fit:contain;">
</div>
<div class="ImageDetails-content-imgbox" v-if="indexActive == 2">
<div style="background: #fff; padding-left: 80px;">
@ -53,7 +55,8 @@
<!-- <img :src="BACKEND_URL+'/' + ImageDetailsInfo.screen_image" alt="" style="width: 100%;height: 100%;object-fit:contain;"> -->
</div>
<div class="ImageDetails-content-imgbox" v-if="indexActive == 3">
<img :src="BACKEND_URL+'/' + ImageDetailsInfo.foot_data_image" alt="" style="width: 100%;height: 100%;object-fit:contain;">
<img :src="BACKEND_URL+'/' + ImageDetailsInfo.foot_data_image" alt=""
style="max-width: 100%;max-height: 100%;object-fit:contain;">
</div>
<div class="ImageDetails-content-imgbox" v-if="indexActive == 4">
<div v-if="ImageDetailsInfo.foot1_image != null && ImageDetailsInfo.foot1_image != ''"

View File

@ -109,16 +109,16 @@
</div>
</div>
<div class="ImageDetailsCompare-display" v-if="indexActive == 3">
<div class="ImageDetailsCompare-content-imgbox" style="width: 456px;height: 100%;">
<div class="ImageDetailsCompare-content-imgbox" style="width: 50%;height: 100%;">
<div class="ImageDetailsCompare-content-title">{{ ImageDetailsInfoLeft.id }}</div>
<img :src="BACKEND_URL+'/' + ImageDetailsInfoLeft.foot_data_image" alt=""
style="width: 456px;height:456px">
style="max-width: 100%;max-height: 100%;">
</div>
<div class="ImageDetailsCompare-content-imgbox"
style="width: 456px;height: 100%;margin-left: 50px;">
style="width: 50%;height: 100%;margin-left: 50px;">
<div class="ImageDetailsCompare-content-title">{{ ImageDetailsInfoRight.id }}</div>
<img :src="BACKEND_URL+'/' + ImageDetailsInfoRight.foot_data_image" alt=""
style="width: 456px;height:456px">
style="max-width: 100%;max-height: 100%;">
</div>
</div>
<div class="ImageDetailsCompare-display" v-if="indexActive == 4">

View File

@ -102,9 +102,8 @@
<el-table-column prop="creator_name" label="测试医生" min-width="60" align="center" />
<el-table-column prop="report" label="报告" width="60" align="center">
<template #default="scope">
<div
v-if="scope.row.data_count == 0"
style="width:28px;
<div v-if="scope.row.data_count == 0"
style="width:28px;
font-family: 'Noto Sans SC';
font-weight: 400;
font-style: normal;
@ -112,9 +111,8 @@
color: rgba(255, 255, 255, 0.5);
line-height: 18px;
cursor: not-allowed;"> 数据</div>
<div
v-if="scope.row.data_count > 0 && scope.row.status == 'checked'"
style="width:28px;
<div v-else-if="scope.row.data_count > 0 && scope.row.status == 'checked'"
style="width:28px;
font-family: 'Noto Sans SC';
font-weight: 400;
font-style: normal;
@ -123,16 +121,16 @@
line-height: 18px;
cursor: not-allowed;"> 诊断</div>
<div
v-else-if="scope.row.status == 'completed'"
style="width:28px;
font-family: 'Noto Sans SC';
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #14AAFF;
line-height: 18px;
cursor: pointer;"
@click.stop="generateReport(scope.row,scope.$index)">生成报告</div>
v-else-if="scope.row.status == 'completed'"
style="width:28px;
font-family: 'Noto Sans SC';
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #14AAFF;
line-height: 18px;
cursor: pointer;"
@click.stop="generateReport(scope.row,scope.$index)">生成报告</div>
<div class="patientprofile-file-box" v-else-if="scope.row.status == 'reported'">
<img src="@/assets/new/file.png" alt="" @click.stop="fileClick(scope.row)">
<img src="@/assets/new/del.png" class="patientprofile-del" alt=""
@ -184,9 +182,10 @@
对比
</el-button>
<el-button class="button-width70" type="primary"
:class="checkboxGroup.length>0? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
@click="delImgClick('img')">
<img v-if="checkboxGroup.length>0" src="@/assets/new/del2.png" alt="" style="margin-right: 8px;">
:class="checkboxGroup.length>0 && selectedRecord.status != 'reported'? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
@click="delImgClick('img')"
:title="checkboxGroup.length>0 && selectedRecord.status == 'reported'?'已生成报告,图片不能删除': ''">
<img v-if="checkboxGroup.length>0 && selectedRecord.status != 'reported'" src="@/assets/new/del2.png" alt="" style="margin-right: 8px;">
<img v-else src="@/assets/new/del3.png" alt="" style="margin-right: 8px;">
删除
</el-button>
@ -231,7 +230,8 @@
</div>
<el-button class="button-width70" type="primary"
:class="checkboxVideo.length>0? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
@click="delVideoClick">
@click="delVideoClick"
:title="checkboxVideo.length>0 &&selectedRecord.status == 'reported'?'已生成报告,视频不能删除': ''">
<img v-if="checkboxVideo.length>0" src="@/assets/new/del2.png" alt="" style="margin-right: 8px;">
<img v-else src="@/assets/new/del3.png" alt="" style="margin-right: 8px;">
删除
@ -277,7 +277,9 @@
<div class="patientprofile-container-data-title">诊断数据</div>
</div>
<el-button type="primary"
class="button-width70 patientprofile-selectedbutotn"
class="button-width70"
:class="selectedRecord.status != 'reported'? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
:title="selectedRecord.status == 'reported'?'已生成报告,诊断数据不能修改': ''"
@click="handleDiagnosticInfo('completed')">
<img src="@/assets/new/save.png" alt="" style="margin-right: 8px;">
保存
@ -611,7 +613,9 @@ const handleSubmit = (item) => {
}
};
const sessionsId = ref('')
const recordIndex = ref(0)
function selectRecord(data){
recordIndex.value = recordData.value.indexOf(data);
selectedRecord.value = data
checkboxVideo.value = []
checkboxGroup.value = []
@ -638,14 +642,11 @@ const sessionsInit = async () => {
//
const response = await historyAPI.sessionsPage(params)
if (response.success) {
// response.data.sessions.forEach(element => {
// element.list = [{}]
// });
recordData.value = response.data.sessions
if (recordData.value && recordData.value.length > 0) {
const first = recordData.value[0]
const first = recordData.value[recordIndex.value]
if( first != null){
recordDataRef.value?.setCurrentRow(recordData.value[0], true); // true
recordDataRef.value?.setCurrentRow(recordData.value[recordIndex.value], true); // true
}
selectedRecord.value = first
@ -727,7 +728,7 @@ onMounted(() => {
})
const deleteId = ref('')
function sessionsDelById(id) {
function sessionsDelById(id) { //
let ids = id.join(',')
historyAPI.sessionsDelById(ids).then((response)=>{
if(response.success){
@ -735,6 +736,7 @@ function sessionsDelById(id) {
message: response.message,
duration: 5000
});
recordIndex.value = 0
sessionsInit()
}
}).catch(()=>{
@ -839,6 +841,9 @@ function handleVideoUpward(){ // 视频上一页
async function handleDiagnosticInfo(status) {
if(selectedRecord.value.status == 'reported'){
return
}
try {
// ID
if (!profileInfo.value.id) {
@ -864,10 +869,11 @@ async function handleDiagnosticInfo(status) {
const result = await response.json()
if (result.success) {
selectedRecord.value.diagnosis_info = profileInfo.value.diagnosis_info
selectedRecord.value.treatment_info = profileInfo.value.treatment_info
selectedRecord.value.suggestion_info = profileInfo.value.suggestion_info
selectedRecord.value.status = status
// selectedRecord.value.diagnosis_info = profileInfo.value.diagnosis_info
// selectedRecord.value.treatment_info = profileInfo.value.treatment_info
// selectedRecord.value.suggestion_info = profileInfo.value.suggestion_info
// selectedRecord.value.status = status
sessionsInit()
ElMessage.success({
message: '诊断信息成功',
duration: 5000
@ -943,7 +949,7 @@ function viewCompareImg(){
isImageDetailsCompare.value = true
}
function delImgClick(e){ //
if(checkboxGroup.value.length < 1){
if(checkboxGroup.value.length < 1 || selectedRecord.value.status == 'reported'){
return
}
delType.value = e
@ -951,7 +957,7 @@ function delImgClick(e){ // 临时方法
isTip.value = true
}
function delVideoClick(){ //
if(checkboxVideo.value.length < 1){
if(checkboxVideo.value.length < 1 || selectedRecord.value.status == 'reported'){
return
}
delType.value = 'video'
@ -997,11 +1003,12 @@ function detectionDelById(){
let ids = checkboxGroup.value.join(',')
historyAPI.detectionDelById(ids).then((response)=>{
if(response.success){
checkboxGroup.value = []
ElMessage.success({
message: response.message,
duration: 5000
});
sessionsById(sessionsId.value)
sessionsInit()
}
}).catch(()=>{
})
@ -1012,11 +1019,13 @@ function VideoDelById(){
let ids = checkboxVideo.value.join(',')
historyAPI.VideoDelById(ids).then((response)=>{
if(response.success){
checkboxVideo.value = []
ElMessage.success({
message: response.message,
duration: 5000
});
sessionsById(sessionsId.value)
sessionsInit()
// sessionsById(sessionsId.value)
}
}).catch(()=>{
})
@ -1169,7 +1178,7 @@ historyAPI.VideoDelById(ids).then((response)=>{
font-style: normal;
font-size: 14px;
color: rgba(255, 255, 255, 0.5);
cursor: default;
cursor: not-allowed;
}
.patientprofile-selectedbutotn{
width: 98px;