This commit is contained in:
root 2025-12-12 19:02:16 +08:00
commit f3e2df3c02
7 changed files with 219 additions and 87 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -11,27 +11,40 @@
<el-form-item label="记录">
<el-input v-model="diagnosticForm.diagnosis_info" resize="none" :rows="10" type="textarea" placeholder="记录信息" />
</el-form-item>
<el-form-item label="处理/建议">
<div style="display:flex;gap:6px;align-items:center;">
<el-select v-model="diagnosticForm.treatment_info" placeholder="请选择" filterable allow-create default-first-option clearable style="flex:1;">
<el-form-item label="处理">
<div style="display:flex;width: 100%;align-items:center;">
<el-select v-model="diagnosticForm.treatment_info" placeholder="请选择"
filterable allow-create default-first-option clearable style="width:calc(100% - 70px);">
<el-option v-for="opt in commonItems.treatment" :key="opt" :label="opt" :value="opt" />
</el-select>
<el-tooltip content="新增到常用项" placement="top">
<img src="@/assets/process/add.png" alt="" @click="addTreatmentFromInput"
style="cursor: pointer;margin-left: 5px;">
</el-tooltip>
<el-tooltip content="选择处理" placement="top">
<el-button circle :icon="List" size="small" @click="treatmentDialogVisible=true" />
</el-tooltip>
<el-tooltip content="新增到常用项" placement="top">
<el-button circle :icon="Plus" size="small" @click="addTreatmentFromInput" />
<img src="@/assets/process/set.png" alt="" @click="treatmentDialogVisible=true"
style="cursor: pointer;margin-left: 5px;">
</el-tooltip>
</div>
<el-input v-model="diagnosticForm.suggestion_info" resize="none" :rows="5" type="textarea" placeholder="备注信息" style="margin-top:8px;" />
<div style="margin-top:8px;display:flex;gap:6px;align-items:center;">
</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="备注信息"
style="margin-top:8px;width:calc(100% - 70px)" />
<div style="margin-top:8px;display:flex;align-items:center;">
<el-tooltip content="新增到常用项" placement="top">
<img src="@/assets/process/add.png" alt="" @click="addSuggestionFromInput"
style="cursor: pointer;margin-left: 5px;">
</el-tooltip>
<el-tooltip content="选择建议" placement="top">
<el-button circle :icon="List" size="small" @click="suggestionDialogVisible=true" />
</el-tooltip>
<el-tooltip content="新增到常用项" placement="top">
<el-button circle :icon="Plus" size="small" @click="addSuggestionFromInput" />
<img src="@/assets/process/set.png" alt="" @click="suggestionDialogVisible=true"
style="cursor: pointer;margin-left: 5px;">
</el-tooltip>
</div>
</div>
</el-form-item>
</el-form>
<div class="form-actions-display">
@ -47,42 +60,55 @@
</div>
</div>
<el-dialog v-model="suggestionDialogVisible" title="选择建议" width="600px">
<el-input v-model="suggestionSearch" placeholder="搜索建议" clearable />
<div style="margin-top:8px;max-height:240px;overflow:auto;">
<div v-for="opt in filteredSuggestions10" :key="opt" style="display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid #f0f0f0;color:#fff;">
<el-dialog v-model="treatmentDialogVisible" title="选择处理" width="800px" class="treatmentDialogVisible">
<el-input v-model="treatmentSearch" placeholder="搜索处理" clearable />
<div style="margin-top:8px;height: calc(100vh - 500px);overflow:auto;">
<div v-for="opt in filteredTreatments10"
:key="opt"
style="display:flex;align-items:center;
justify-content:space-between;padding:10px 8px;
border-bottom:1px solid #374151;color:#fff;background: #252f3f;">
<span>{{opt}}</span>
<div style="display:flex;gap:6px;">
<el-tooltip content="选中" placement="top">
<el-button circle :icon="CircleCheck" size="small" @click="onPickSuggestion(opt)" />
<img src="@/assets/process/selected.png" alt="" @click="onPickTreatment(opt)"
style="cursor: pointer;margin-left: 10px;">
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button circle :icon="Delete" size="small" type="danger" @click="removeCommonItem('suggestion',opt)" />
<img src="@/assets/process/del.png" alt="" @click="removeCommonItem(opt)"
style="cursor: pointer;margin-left: 10px;">
</el-tooltip>
</div>
</div>
</div>
<template #footer>
<el-button @click="suggestionDialogVisible=false">关闭</el-button>
<div style="display: flex;justify-content: flex-end;">
<div class="pop-up-tip-cancelbutton" @click="treatmentDialogVisible=false">关闭</div>
</div>
</template>
</el-dialog>
<el-dialog v-model="treatmentDialogVisible" title="选择处理" width="600px">
<el-input v-model="treatmentSearch" placeholder="搜索处理" clearable />
<div style="margin-top:8px;max-height:240px;overflow:auto;">
<div v-for="opt in filteredTreatments10" :key="opt" style="display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid #f0f0f0;color:#fff;">
<el-dialog v-model="suggestionDialogVisible" title="选择建议" width="800px" class="treatmentDialogVisible">
<el-input v-model="suggestionSearch" placeholder="搜索建议" clearable />
<div style="margin-top:8px;height:calc(100vh - 500px);overflow:auto;">
<div v-for="opt in filteredSuggestions10" :key="opt" style="background: #252f3f;display:flex;align-items:center;justify-content:space-between;padding:10px 8px;border-bottom:1px solid #374151;color:#fff;">
<span>{{opt}}</span>
<div style="display:flex;gap:6px;">
<el-tooltip content="选中" placement="top">
<el-button circle :icon="CircleCheck" size="small" @click="onPickTreatment(opt)" />
<img src="@/assets/process/selected.png" alt="" @click="onPickSuggestion(opt)"
style="cursor: pointer;margin-left: 10px;">
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button circle :icon="Delete" size="small" type="danger" @click="removeCommonItem('treatment',opt)" />
<img src="@/assets/process/del.png" alt="" @click="removeCommonItem('suggestion',opt)"
style="cursor: pointer;margin-left: 10px;">
</el-tooltip>
</div>
</div>
</div>
<template #footer>
<el-button @click="treatmentDialogVisible=false">关闭</el-button>
<div style="display: flex;justify-content: flex-end;">
<div class="pop-up-tip-cancelbutton" @click="suggestionDialogVisible=false">关闭</div>
</div>
</template>
</el-dialog>
</template>
@ -165,7 +191,7 @@ const filteredSuggestions10 = computed(() => {
const arr = Array.isArray(commonItems.suggestion) ? commonItems.suggestion : []
const q = (suggestionSearch.value || '').trim()
const res = q ? arr.filter(s => s.includes(q)) : arr
return res.slice(0, 10)
return res
})
const treatmentDialogVisible = ref(false)
const treatmentSearch = ref('')
@ -173,7 +199,7 @@ const filteredTreatments10 = computed(() => {
const arr = Array.isArray(commonItems.treatment) ? commonItems.treatment : []
const q = (treatmentSearch.value || '').trim()
const res = q ? arr.filter(s => s.includes(q)) : arr
return res.slice(0, 10)
return res
})
const onPickTreatment = (val) => {
if (diagnosticForm && diagnosticForm.value) {
@ -363,3 +389,53 @@ async function handleDiagnosticInfo(status) {
color: #ffffff;
}
</style>
<style>
.treatmentDialogVisible .el-dialog__title{
color: #fff;
}
.treatmentDialogVisible .el-dialog__close{
font-size: 24px !important;
}
.treatmentDialogVisible .el-input__wrapper{
background-color: #2a3649;
border-width: 1px;
border-style: solid;
border-color: transparent;
border-radius: 4px;
box-shadow: none;
height: 40px;
}
.treatmentDialogVisible .el-input__wrapper:hover{
border-color: #3d4c65;
box-shadow: 0 0 0 1px transparent inset;
}
.treatmentDialogVisible .el-input__inner {
color: #ffffff;
font-size: 14px;
height: 40px;
}
.treatmentDialogVisible .pop-up-tip-cancelbutton{
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;
}
.treatmentDialogVisible .pop-up-tip-cancelbutton:hover{
background-color: #14aaff;
color: #fff;
}
.el-select__input{
color: #ffffff;
}
</style>

View File

@ -9,7 +9,8 @@
</div>
<div class="system-title">
平衡体态检测系统
<span v-if="licenseBadge" :class="['license-badge', licenseClass]">{{ licenseBadge }}</span>
<span v-if="licenseBadge" v-show="!isTrialText"
:class="['license-badge', licenseClass]">{{ licenseBadge }}</span>
<button v-if="showActivateButton" class="activate-btn" @click="goActivate">激活</button>
<span v-if="isTrialText" class="trial-text">{{ trialText }}</span>
</div>
@ -19,7 +20,8 @@
<div class="user-line"></div>
<div class="user-info">
<img src="@/assets/new/u13.png" alt="Avatar" style="width: 30px;height: 30px;">
<span class="username" @click="isUpdateUserInfo = true">{{ userInfo.name }}</span>
<!-- @click="isUpdateUserInfo = true" -->
<span class="username" >{{ userInfo.name }}</span>
<div class="user-line"></div>
<span class="username user-return" @click="isTip = true">退出登录</span>
</div>

View File

@ -11,7 +11,7 @@
<img src="@/assets/header/closepage.png" alt="" style="cursor: pointer;" @click="handleCancel">
</div>
<div class="patientprofile-container">
<div style="height: 100%;width: 500px;margin-right: 15px;">
<div style="height: 100%;width: 550px;margin-right: 15px;">
<div class="patientprofile-container-leftbox">
<div class="patientprofile-title-display" style="margin-bottom:10px">
<div class="patientprofile-son-display">
@ -266,22 +266,32 @@
<div style="width: 50%;height: calc(100% - 10px) ">
<div class="patientprofile-container-dataInfobg-rightbox">
<div class="patientprofile-container-dataInfobg-lefttext" style="padding-top:0px">处理</div>
<el-select v-model="profileInfo.treatment_info" placeholder="请选择"
style="width: calc(100% - 80px);">
<el-option :label="'保持观察,不予处理'" :value="'保持观察,不予处理'" />
<div style="width: 100%; display:flex;align-items:center;">
<el-select v-model="profileInfo.treatment_info" placeholder="请选择" filterable allow-create default-first-option clearable
style="width:100%;">
<el-option v-for="opt in commonItems.treatment" :key="opt" :label="opt" :value="opt" />
</el-select>
<img src="@/assets/detection/set.png" alt=""
style="width: 24px;margin-left: 5px;cursor: pointer;">
<el-tooltip content="新增到常用项" placement="top">
<img src="@/assets/process/add.png" alt="" @click="addTreatmentFromInput"
style="cursor: pointer;margin-left: 5px;">
</el-tooltip>
<el-tooltip content="选择处理" placement="top">
<img src="@/assets/process/set.png" alt="" @click="treatmentDialogVisible=true"
style="cursor: pointer;margin-left: 5px;">
</el-tooltip>
</div>
</div>
<div class="patientprofile-container-dataInfobg-rightbottombox">
<div class="patientprofile-container-dataInfobg-lefttext" style="padding-top:0px">建议</div>
<el-input type="textarea" v-model="profileInfo.suggestion_info" :resize="'none'" class="patientprofile-container-dataInfobg-textarea"></el-input>
<div style="margin-top:8px;display:flex;gap:6px;align-items:center;">
<el-tooltip content="选择建议" placement="top">
<el-button circle :icon="List" size="small" @click="suggestionDialogVisible=true" />
</el-tooltip>
<div style="margin-top:8px;display:flex;align-items:center;">
<el-tooltip content="新增到常用项" placement="top">
<el-button circle :icon="Plus" size="small" @click="addSuggestionFromInput" />
<img src="@/assets/process/add.png" alt="" @click="addSuggestionFromInput"
style="cursor: pointer;margin-left: 5px;">
</el-tooltip>
<el-tooltip content="选择建议" placement="top">
<img src="@/assets/process/set.png" alt="" @click="suggestionDialogVisible=true"
style="cursor: pointer;margin-left: 5px;">
</el-tooltip>
</div>
</div>
@ -321,42 +331,54 @@
<AloneReportComparison v-if="isAloneReportComparison" :selectedData="selectedData"
:selectedPatient="selectedPatient" @closeAloneReportComparison="isAloneReportComparison = false"/>
<el-dialog v-model="treatmentDialogVisible" title="选择处理" width="600px">
<el-dialog v-model="treatmentDialogVisible" title="选择处理" width="800px" class="treatmentDialogVisible">
<el-input v-model="treatmentSearch" placeholder="搜索处理" clearable />
<div style="margin-top:8px;max-height:240px;overflow:auto;">
<div v-for="opt in filteredTreatments10" :key="opt" style="display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid #f0f0f0;color:#fff;">
<div style="margin-top:8px;height: calc(100vh - 500px);overflow:auto;">
<div v-for="opt in filteredTreatments10"
:key="opt"
style="display:flex;align-items:center;
justify-content:space-between;padding:10px 8px;
border-bottom:1px solid #374151;color:#fff;background: #252f3f;">
<span>{{opt}}</span>
<div style="display:flex;gap:6px;">
<el-tooltip content="选中" placement="top">
<el-button circle :icon="CircleCheck" size="small" @click="onPickTreatment(opt)" />
<img src="@/assets/process/selected.png" alt="" @click="onPickTreatment(opt)"
style="cursor: pointer;margin-left: 10px;">
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button circle :icon="Delete" size="small" type="danger" @click="removeCommonItem('treatment',opt)" />
<img src="@/assets/process/del.png" alt="" @click="removeCommonItem(opt)"
style="cursor: pointer;margin-left: 10px;">
</el-tooltip>
</div>
</div>
</div>
<template #footer>
<el-button @click="treatmentDialogVisible=false">关闭</el-button>
<div style="display: flex;justify-content: flex-end;">
<div class="pop-up-tip-cancelbutton" @click="treatmentDialogVisible=false">关闭</div>
</div>
</template>
</el-dialog>
<el-dialog v-model="suggestionDialogVisible" title="选择建议" width="600px">
<el-dialog v-model="suggestionDialogVisible" title="选择建议" width="800px" class="treatmentDialogVisible">
<el-input v-model="suggestionSearch" placeholder="搜索建议" clearable />
<div style="margin-top:8px;max-height:240px;overflow:auto;">
<div v-for="opt in filteredSuggestions10" :key="opt" style="display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid #f0f0f0;color:#fff;">
<div style="margin-top:8px;height:calc(100vh - 500px);overflow:auto;">
<div v-for="opt in filteredSuggestions10" :key="opt" style="background: #252f3f;display:flex;align-items:center;justify-content:space-between;padding:10px 8px;border-bottom:1px solid #374151;color:#fff;">
<span>{{opt}}</span>
<div style="display:flex;gap:6px;">
<el-tooltip content="选中" placement="top">
<el-button circle :icon="CircleCheck" size="small" @click="onPickSuggestion(opt)" />
<img src="@/assets/process/selected.png" alt="" @click="onPickSuggestion(opt)"
style="cursor: pointer;margin-left: 10px;">
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button circle :icon="Delete" size="small" type="danger" @click="removeCommonItem('suggestion',opt)" />
<img src="@/assets/process/del.png" alt="" @click="removeCommonItem('suggestion',opt)"
style="cursor: pointer;margin-left: 10px;">
</el-tooltip>
</div>
</div>
</div>
<template #footer>
<el-button @click="suggestionDialogVisible=false">关闭</el-button>
<div style="display: flex;justify-content: flex-end;">
<div class="pop-up-tip-cancelbutton" @click="suggestionDialogVisible=false">关闭</div>
</div>
</template>
</el-dialog>
</div>
@ -466,7 +488,7 @@ const filteredSuggestions10 = computed(() => {
const arr = Array.isArray(commonItems.suggestion) ? commonItems.suggestion : []
const q = (suggestionSearch.value || '').trim()
const res = q ? arr.filter(s => s.includes(q)) : arr
return res.slice(0, 10)
return res
})
const treatmentDialogVisible = ref(false)
const treatmentSearch = ref('')
@ -474,7 +496,7 @@ const filteredTreatments10 = computed(() => {
const arr = Array.isArray(commonItems.treatment) ? commonItems.treatment : []
const q = (treatmentSearch.value || '').trim()
const res = q ? arr.filter(s => s.includes(q)) : arr
return res.slice(0, 10)
return res
})
const onPickTreatment = (val) => {
if (profileInfo && profileInfo.value) {
@ -1027,20 +1049,20 @@ historyAPI.VideoDelById(ids).then((response)=>{
display: flex;
}
.patientprofile-container-leftbox{
width: 500px;
width: 550px;
height: 350px;
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%);
border-radius: 5px;
}
.patientprofile-container-leftbottombox{
margin-top: 15px;
width: 500px;
width: 550px;
height: calc(100% - 350px - 15px) ;
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%);
border-radius: 5px;
}
.patientprofile-container-rightbox{
width: calc(100% - 500px - 15px) ;
width: calc(100% - 550px - 15px) ;
height: 100%;
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%);
border-radius: 5px;
@ -1085,7 +1107,7 @@ historyAPI.VideoDelById(ids).then((response)=>{
color: rgba(255, 255, 255, 0.6);
}
.patientprofile-userinfo-text2{
width: 166px;
width: 190px;
font-family: 'Noto Sans SC';
font-weight: 400;
font-style: normal;
@ -1207,10 +1229,6 @@ historyAPI.VideoDelById(ids).then((response)=>{
border-color: #787878;
}
.patient-profile-container .el-dialog {
background-color: rgba(85, 85, 85, 1);
}
.patient-profile-container .el-dialog__title {
color: #ffffff;
}
@ -1621,4 +1639,40 @@ historyAPI.VideoDelById(ids).then((response)=>{
.patientprofile-container-info .el-select__placeholder{
color: #fff;
}
.el-dialog{
background: linear-gradient(135deg, rgba(53, 67, 90, 1) 0%, rgba(53, 67, 90, 1) 0%, rgba(62, 79, 105, 1) 99%, rgba(62, 79, 105, 1) 100%);;
}
.el-dialog__close{
color: #fff !important;
}
</style>
<style>
.treatmentDialogVisible .el-input__wrapper{
background-color: #2a3649;
border-width: 1px;
border-style: solid;
border-color: transparent;
border-radius: 4px;
box-shadow: none;
height: 40px;
}
.treatmentDialogVisible .el-input__wrapper:hover{
border-color: #3d4c65;
box-shadow: 0 0 0 1px transparent inset;
}
.treatmentDialogVisible .el-input__inner {
color: #ffffff;
font-size: 14px;
height: 40px;
}
.el-select__input{
color: #ffffff;
}
</style>