From df63b22e7a49b4e7c6aac52eea7f25462e8291be Mon Sep 17 00:00:00 2001 From: limengnan <420004014@qq.com> Date: Mon, 12 Jan 2026 11:03:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B7=E5=BC=8F=EF=BC=8C?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E9=9C=80=E6=B1=82=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/renderer/src/views/Dashboard.vue | 2 +- frontend/src/renderer/src/views/Detection.vue | 37 +++++---- .../src/renderer/src/views/Detection_bak.vue | 34 ++++---- .../src/renderer/src/views/ImageDetails.vue | 9 ++- .../src/views/ImageDetailsCompare.vue | 8 +- .../src/renderer/src/views/PatientProfile.vue | 81 ++++++++++--------- 6 files changed, 96 insertions(+), 75 deletions(-) diff --git a/frontend/src/renderer/src/views/Dashboard.vue b/frontend/src/renderer/src/views/Dashboard.vue index 28b89398..7341ebe2 100644 --- a/frontend/src/renderer/src/views/Dashboard.vue +++ b/frontend/src/renderer/src/views/Dashboard.vue @@ -10,7 +10,7 @@
+ :class="checkboxGroup.length>0 && selectedRecord.status != 'reported'? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
+ @click="delImgClick('img')"
+ :title="checkboxGroup.length>0 && selectedRecord.status == 'reported'?'已生成报告,图片不能删除': ''">
+
删除
删除
@@ -277,7 +277,9 @@
保存
@@ -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;