修改档案

This commit is contained in:
limengnan 2025-12-04 12:01:24 +08:00
parent 95cdd967cc
commit 3b6280b7c5
12 changed files with 259 additions and 214 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

View File

@ -630,6 +630,10 @@ export const historyAPI = {
sessionsPage(params) {
return api.get('/api/history/sessions', { params })
},
// 获取会话详细数据(一个)
sessionsById(session_id) {
return api.get(`/api/history/sessions/${session_id}`)
},
// 删除检测数据记录
detectionDelById(id) {
return api.delete(`/api/detection/data/${id}`, {})

View File

@ -45,7 +45,6 @@
</el-table-column>
</el-table>
<el-pagination background layout="prev, pager, next"
:size="size"
:page-size="size"
:total="patienttotal"
@current-change="handleCurrentChange"
@ -204,14 +203,6 @@
@click="startDetection">
开始检测
</div>
<!-- <el-button v-if="selectedPatient" type="primary" class="primary-view-profile"
@click="viewPatientProfile">
查看档案
</el-button>
<el-button v-if="selectedPatient" type="primary" class="primary-view-profile"
@click="startDetection">
开始检测
</el-button> -->
</div>
</div>
@ -226,7 +217,8 @@
<Detection v-if="isDetection" :selectedPatient="selectedPatient"
@endChange="endChange"></Detection>
</div>
<PatientProfile v-if="isPatientProfile"
<PatientProfile
v-if="isPatientProfile"
:archiveType="false"
:selectedPatient="selectedPatient"
@closePatientProfile="closePatientProfile"/>

View File

@ -480,7 +480,7 @@ import { getBackendUrl, patientAPI } from '../services/api.js'
import noImageSvg from '@/assets/detection/no-image.png'
import DiagnosticMessage from '@/views/DiagnosticMessage.vue'
import PatientCreate from '@/views/PatientCreate.vue'
import HistoryDashboard from '@/views/PatientProfile.vue'
import PatientProfile from '@/views/PatientProfile.vue'
import Model from './model.vue'
import ViewUserInfo from '@/views/ViewUser.vue'

View File

@ -6,82 +6,84 @@
<div class="patientprofiletext2" style="margin-right: 20px;">{{ selectedPatient.name }}</div>
<div class="patientprofiletext3">{{ selectedPatient.gender }}</div>
<div class="username-line"></div>
<div class="patientprofiletext3">{{ calculateAge(selectedPatient.birth_date) }}</div>
<div class="patientprofiletext3">{{ calculateAge(selectedPatient.birth_date) }}</div>
</div>
<img src="@/assets/new/close.png" alt="" style="cursor: pointer;" @click="handleCancel">
<img src="@/assets/archive/close.png" alt="" style="cursor: pointer;" @click="handleCancel">
</div>
<div class="patientprofile-container">
<div style="height: 100%;width: 500px;margin-right: 15px;">
<div class="patientprofile-container-leftbox">
<div class="patientprofile-title-display" style="margin-bottom:30px">
<div class="patientprofile-title-display" style="margin-bottom:10px">
<div class="patientprofile-son-display">
<img src="@/assets/new/title4.svg" alt="" style="margin-right: 8px;">
<div class="body-posture-text">用户信息</div>
<img src="@/assets/archive/usericon.png" alt="" style="margin-right: 8px;">
<div class="profile-text">用户信息</div>
</div>
<div class="patientprofile-son-display"></div>
</div>
<div class="patientprofile-userinfo-box">
<div class="patientprofile-userinfo-text1">用户姓名</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.name }}</div>
<div class="patientprofile-userinfo-text1">用户ID</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.id }}</div>
</div>
<div class="patientprofile-userinfo-box">
<div class="patientprofile-userinfo-text1">性别</div>
<div class="patientprofile-userinfo-text1">性别</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.gender }}</div>
<div class="patientprofile-userinfo-text1">出生日期</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.birth_date }}</div>
<div class="patientprofile-userinfo-text3">出生日期</div>
<div class="patientprofile-userinfo-text2">{{ formatDate(selectedPatient.birth_date) }}</div>
</div>
<div class="patientprofile-userinfo-box">
<div class="patientprofile-userinfo-text1">年龄</div>
<div class="patientprofile-userinfo-text2">{{ calculateAge(selectedPatient.birth_date) }}</div>
<div class="patientprofile-userinfo-text1">民族</div>
<div class="patientprofile-userinfo-text1">年龄</div>
<div class="patientprofile-userinfo-text2">{{ calculateAge(selectedPatient.birth_date) }}</div>
<div class="patientprofile-userinfo-text3">民族</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.nationality }}</div>
</div>
<div class="patientprofile-userinfo-box">
<div class="patientprofile-userinfo-text1">居住地</div>
<div class="patientprofile-userinfo-text1">居住地</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.residence }}</div>
<div class="patientprofile-userinfo-text1">身高</div>
<div class="patientprofile-userinfo-text3">身高</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.height }}cm</div>
</div>
<div class="patientprofile-userinfo-box">
<div class="patientprofile-userinfo-text1">体重</div>
<div class="patientprofile-userinfo-text1">体重</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.weight }}kg</div>
<div class="patientprofile-userinfo-text1">鞋码</div>
<div class="patientprofile-userinfo-text3">鞋码</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.shoe_size }}</div>
</div>
<div class="patientprofile-userinfo-box">
<div class="patientprofile-userinfo-text1">电话</div>
<div class="patientprofile-userinfo-text1">电话</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.phone }}</div>
<div class="patientprofile-userinfo-text1">邮箱</div>
<div class="patientprofile-userinfo-text3">邮箱</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.email }}</div>
</div>
<div class="patientprofile-userinfo-box">
<div class="patientprofile-userinfo-text1">职业</div>
<div class="patientprofile-userinfo-text1">职业</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.occupation }}</div>
<div class="patientprofile-userinfo-text1">证件号</div>
<div class="patientprofile-userinfo-text3">证件号</div>
<div class="patientprofile-userinfo-text2">{{ selectedPatient.workplace }}</div>
</div>
</div>
<div class="patientprofile-container-leftbottombox">
<div class="patientprofile-title-display">
<div class="patientprofile-son-display">
<img src="@/assets/new/history2.svg" alt="" style="margin-right: 8px;">
<div class="body-posture-text">检测记录9</div>
<img src="@/assets/archive/table.png" alt="" style="margin-right: 8px;">
<div class="profile-text">检测记录
<span style="padding-left:5px; font-family: 'Noto Sans SC';
font-weight: 400;
font-style: normal;
font-size: 14px;
color: rgba(255, 255, 255, 0.5);">共计{{recordData.length}}
</span>
</div>
</div>
<div class="patientprofile-son-display">
<el-button v-if="selectedPatient" type="primary"
:class="selectedData.length == 2? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
@click="viewPatientProfile">
<img v-if="selectedData.length == 2" src="@/assets/new/bi2.png" alt="" style="margin-right: 8px;">
<img v-else src="@/assets/new/bi.png" alt="" style="margin-right: 8px;">
<img v-if="selectedData.length == 2" src="@/assets/archive/bi2.png" alt="" style="margin-right: 8px;">
<img v-else src="@/assets/archive/bi.png" alt="" style="margin-right: 8px;" class="opacity50">
报告对比
</el-button>
<el-button v-if="selectedPatient" type="primary"
:class="selectedData.length>0? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
@click="viewPatientProfile">
<img v-if="selectedData.length>0" src="@/assets/new/del2.png" alt="" style="margin-right: 8px;">
<img v-else src="@/assets/new/del.png" alt="" style="margin-right: 8px;">
<img v-if="selectedData.length>0" src="@/assets/archive/del2.png" alt=""
style="margin-right: 8px;" >
<img v-else src="@/assets/archive/del.png" alt="" style="margin-right: 8px;" class="opacity50">
删除记录
</el-button>
</div>
@ -93,21 +95,21 @@
@cell-click="selectRecord" @selection-change="handleSelectionChange"
highlight-current-row>
<el-table-column type="selection" width="30" />
<el-table-column prop="id" label="患者ID" width="70" />
<el-table-column prop="created_at" label="就诊时间" width="100" align="center" />
<el-table-column prop="doctor" label="测试医生" min-width="80" align="center" />
<el-table-column prop="start_time" label="就诊时间" width="160" align="center" />
<el-table-column prop="creator_name" label="测试医生" min-width="80" align="center" />
<el-table-column prop="report" label="报告" width="60">
<template #default="scope">
<div
v-if="scope.row.report == null"
v-if="scope.row.detection_report == null"
style="width:28px;
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #266FFF;
font-family: 'Noto Sans SC';
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #14AAFF;
line-height: 18px;
cursor: pointer;">生成报告</div>
<div class="patientprofile-file-box" v-if="scope.row.report != null">
<div class="patientprofile-file-box" v-if="scope.row.detection_report != null">
<img src="@/assets/new/file.png" alt="" @click="fileClick(scope.row)">
<img src="@/assets/new/del.png" class="patientprofile-del" alt=""
@click="deleteClick(scope.row)">
@ -116,13 +118,8 @@
</el-table-column>
<el-table-column label="操作" width="60">
<template #default="scope">
<span
style="font-weight: 400;
font-style: normal;
font-size: 14px;
color: #FF3300;
cursor: pointer;"
@click="deleteClick(scope.row.id)">删除</span>
<img src="@/assets/archive/del.png"
style="cursor: pointer;" @click.stop="deleteClick(scope.row)">
</template>
</el-table-column>
</el-table>
@ -132,12 +129,12 @@
<div class="patientprofile-title-display">
<div class="patientprofile-son-display">
<img src="@/assets/new/history3.svg" alt="" style="margin-right: 8px;">
<div class="body-posture-text">就诊档案</div>
<div class="profile-text">就诊档案</div>
</div>
<div class="patientprofile-son-display">
<div class="patientprofile-son-text">测试医生李莉莉</div>
<div class="patientprofile-son-text">就诊时间2025年10月20日 10:48:23</div>
<div class="patientprofile-son-text">档案ID25002</div>
<div class="patientprofile-son-text">测试医生{{ selectedRecord.creator_name }}</div>
<div class="patientprofile-son-text">就诊时间{{ selectedRecord.start_time }}</div>
<div class="patientprofile-son-text">档案ID{{ selectedPatient.id }}</div>
<div v-if="archiveType == true" class="patientprofile-son-detectiontext">正在检测</div>
</div>
@ -167,16 +164,16 @@
</el-button>
</div>
</div>
<div class="patientprofile-container-databg">
<div v-if="useImgList.length>0" class="patientprofile-container-databg">
<div class="patientprofile-arrowbox">
<div class="leftjiantou" @click="handleUpward"></div>
</div>
<div class="patientprofile-imgbgbox">
<el-checkbox-group v-model="checkboxGroup" size="large" @change="selectedChange" >
<div v-for="(item, index) in useImgList" :key="index"
class="patientprofile-imgbox">
class="patientprofile-imgbox">
<div class="patientprofile-imgactive">
<img src="@/assets/new/test.png" alt="">
<img :src="BACKEND_URL+'/' + item.foot_data_image" alt="" style="width: 100%;height: 100%;">
</div>
<div class="patientprofile-imgtextbox">
<el-checkbox
@ -186,6 +183,9 @@
</el-checkbox>
</div>
</div>
<div class="patientprofile-imgbox" v-if="useImgList.length < 2"></div>
<div class="patientprofile-imgbox" v-if="useImgList.length < 3"></div>
<div class="patientprofile-imgbox" v-if="useImgList.length < 4"></div>
</el-checkbox-group>
</div>
<div class="patientprofile-arrowbox">
@ -193,6 +193,7 @@
</div>
</div>
<div v-else class="patientprofile-container-databg"></div>
</div>
<div class="patientprofile-container-video">
<div class="patientprofile-container-data-displaycup">
@ -208,16 +209,19 @@
删除
</el-button>
</div>
<div class="patientprofile-container-databg">
<div v-if="useVideoList.length>0" class="patientprofile-container-databg" >
<div class="patientprofile-arrowbox">
<div class="leftjiantou" @click="handleVideoUpward"></div>
</div>
<div class="patientprofile-imgbgbox">
<el-checkbox-group v-model="checkboxVideo" size="large" @change="selectedChange" >
<div v-for="(item, index) in useVideoList" :key="index"
class="patientprofile-imgbox">
class="patientprofile-imgbox">
<div class="patientprofile-imgactive">
<img src="@/assets/new/test.png" alt="">
{{ BACKEND_URL+'/' + item.screen_video.replace(/\\/g, '/') }}
<video ref="videoPlayerRef" :src="item.screen_video ? BACKEND_URL+'/' + item.screen_video.replace(/\\/g, '/') : ''" controls width="100%" height="100%">
您的浏览器不支持视频播放
</video>
</div>
<div class="patientprofile-imgtextbox">
<el-checkbox
@ -227,6 +231,9 @@
</el-checkbox>
</div>
</div>
<div class="patientprofile-imgbox" v-if="useVideoList.length < 2"></div>
<div class="patientprofile-imgbox" v-if="useVideoList.length < 3"></div>
<div class="patientprofile-imgbox" v-if="useVideoList.length < 4"></div>
</el-checkbox-group>
</div>
<div class="patientprofile-arrowbox">
@ -234,6 +241,7 @@
</div>
</div>
<div v-else class="patientprofile-container-databg"></div>
</div>
<div class="patientprofile-container-info">
<div class="patientprofile-container-data-displaycup">
@ -282,6 +290,11 @@ import { useRouter, useRoute } from 'vue-router'
import { ElMessage, ElMessageBox } from 'element-plus'
import { patientAPI, detectionAPI,historyAPI,getBackendUrl } from '@/services/api.js'
import { useAuthStore } from '@/stores/index.js'
const formatDate = (date) => {
return new Date(date).toLocaleDateString('zh-CN')
}
//
const BACKEND_URL = getBackendUrl()
const emit = defineEmits([ 'endChange']);
const props = defineProps({
selectedPatient: {
@ -298,55 +311,22 @@ const props = defineProps({
const archiveType =ref(false)
const profileInfo = ref({}) //
const selectedRecord = ref({})
const recordData =ref([{
id: 1,
name: '张三',
sex: '男',
age: 18,
phone: '12345678901',
address: '中国',
description: '这是一个测试患者',
created_at: '2021-01-01 00:00:00',
updateTime: '2021-01-01 00:00:00',
status: '正常',
isDeleted: false,
},{
id: 2,
name: '张三',
sex: '男',
age: 18,
phone: '12345678901',
address: '中国',
description: '这是一个测试患者',
created_at: '2021-01-01 00:00:00',
updateTime: '2021-01-01 00:00:00',
report: '正常',
isDeleted: false,
}
])
const recordData =ref([])
const checkboxGroup = ref([]) //
const checkboxVideo =ref([]) //
const imageList = ref([])
for (let i = 0; i < 10; i++) {
imageList.value.push({
id: i,
name: '图片' + i,
url: '',
description: '这是一个测试图片',
})
}
const videoList = ref([])
const activeImgIndex = ref(0)
const activeVideoIndex = ref(0)
const tempImgList = ref([])
tempImgList.value = [...imageList.value]
const tempVideoList = ref([])
// tempImgList.value = [...imageList.value]
const useImgList = ref([])//
const useVideoList = ref([])//
useImgList.value =[...tempImgList.value.slice(0, 4)] //
useVideoList.value =[...tempImgList.value.slice(0, 4)] //
// useImgList.value =[...tempImgList.value.slice(0, 4)] //
// useVideoList.value =[...tempImgList.value.slice(0, 4)] //
const selectedData = ref([]) //
@ -379,6 +359,8 @@ const handleSubmit = (item) => {
function selectRecord(data){ //
selectedRecord.value = data
sessionsById(data.id)
}
const handleSelectionChange = (val) => { //
selectedData.value = val
@ -387,34 +369,73 @@ const handleSelectionChange = (val) => { // 列表多选
const sessionsInit = async () => {
try {
let params ={
patient_id: props.selectedPatient.id
patient_id: props.selectedPatient.id,
size: 99
}
//
const response = await historyAPI.sessionsPage(params)
if (response.success) {
response.data.sessions.forEach(element => {
element.list = [{}]
});
// response.data.sessions.forEach(element => {
// element.list = [{}]
// });
recordData.value = response.data.sessions
}
} catch (error) {
ElMessage.error('获取失败')
}
}
const sessionsById = async (session_id) => {
try {
imageList.value = []
videoList.value = []
tempImgList.value = []
tempVideoList.value = []
useImgList.value = []
useVideoList.value = []
activeImgIndex.value = 0
activeVideoIndex.value = 0
//
const response = await historyAPI.sessionsById(session_id)
if (response.success) {
imageList.value = response.data.data
videoList.value = response.data.videos
tempImgList.value = [...imageList.value]
tempVideoList.value = [...videoList.value]
if(tempImgList.value.length>4){
useImgList.value =[...tempImgList.value.slice(0, 4)]
}else{
useImgList.value =[...tempImgList.value]
}
if(useVideoList.value.length>4){
useVideoList.value =[...tempVideoList.value.slice(0, 4)]
}else{
useVideoList.value =[...tempVideoList.value]
}
}
} catch (error) {
ElMessage.error('获取失败')
}
}
onMounted(() => {
archiveType.value = props.archiveType
// sessionsInit()
sessionsInit()
})
function deleteClick(row){
// checking
if (row.status === 'checking') {
ElMessage.warning({
message: '平衡体态检查中,不能删除!',
duration: 3000
});
return;
}
// if (row.status === 'checking') {
// ElMessage.warning({
// message: '',
// duration: 3000
// });
// return;
// }
ElMessageBox.confirm(
'确定义删除此条数据?',
@ -425,17 +446,17 @@ function deleteClick(row){
type: 'warning',
}
).then(() => {
historyAPI.sessionsDelById(row.id).then((response)=>{
if(response.success){
ElMessage.success({
message: response.message,
duration: 5000
});
sessionsInit()
}
}).catch(()=>{
})
historyAPI.sessionsDelById(row.id).then((response)=>{
if(response.success){
ElMessage.success({
message: response.message,
duration: 5000
});
sessionsInit()
}
}).catch(()=>{
})
})
}
function fileClick(row){
ElMessage.success({
@ -447,10 +468,15 @@ function fileClick(row){
function selectedChange(val){
console.log(val)
}
const activeImgIndex = ref(0)
const activeVideoIndex = ref(0)
function handleNext(){
function handleNext(){ //
if( useImgList.value.length<4){
ElMessage.success({
message: '已最后一页',
duration: 3000
});
return
}
if(activeImgIndex.value + 4 >= imageList.value.length){
ElMessage.success({
message: '已最后一页',
@ -461,63 +487,53 @@ function handleNext(){
activeImgIndex.value = activeImgIndex.value + 1
tempImgList.value = [...imageList.value]
useImgList.value =[...tempImgList.value.slice(activeImgIndex.value, activeImgIndex.value+4)]
ElMessage.success({
message: '下一页',
duration: 3000
});
}
function handleUpward(){
function handleUpward(){ //
if(activeImgIndex.value + 4 <= 4){
ElMessage.success({
message: '已第一页',
duration: 3000
duration: 1000
});
return
}
activeImgIndex.value = activeImgIndex.value - 1
tempImgList.value = [...imageList.value]
useImgList.value =[...tempImgList.value.slice(activeImgIndex.value, activeImgIndex.value+4)]
ElMessage.success({
message: '下一页',
duration: 3000
});
}
function handleVideoNext(){
if(activeVideoIndex.value + 4 >= imageList.value.length){
function handleVideoNext(){ //
if( useVideoList.value.length<4){
ElMessage.success({
message: '已最后一页',
duration: 3000
duration: 1000
});
return
}
if(activeVideoIndex.value + 4 >= videoList.value.length){
ElMessage.success({
message: '已最后一页',
duration: 1000
});
return
}
activeVideoIndex.value = activeVideoIndex.value + 1
tempImgList.value = [...imageList.value]
tempImgList.value = [...videoList.value]
useVideoList.value = [...tempImgList.value.slice(activeVideoIndex.value, activeVideoIndex.value+4)]
ElMessage.success({
message: '下一页',
duration: 3000
});
}
function handleVideoUpward(){
function handleVideoUpward(){ //
if(activeVideoIndex.value + 4 <= 4){
ElMessage.success({
message: '已第一页',
duration: 3000
duration: 1000
});
return
}
activeVideoIndex.value = activeVideoIndex.value - 1
tempImgList.value = [...imageList.value]
tempImgList.value = [...videoList.value]
useVideoList.value = [...tempImgList.value.slice(activeVideoIndex.value, activeVideoIndex.value+4)]
ElMessage.success({
message: '下一页',
duration: 3000
});
}
@ -568,7 +584,9 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
} finally {
}
}
function viewPatientProfile() { //
}
</script>
<style scoped>
@ -579,7 +597,7 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
left: 0;
width: 100vw;
height: 100vh;
background: #101010;
background: rgba(25, 29, 40, 1);
}
.patient-profile-header{
width: 100%;
@ -591,27 +609,30 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
padding: 0 20px;
}
.patientprofiletext1{
font-family: 'Noto Sans SC Bold', 'Noto Sans SC Regular', 'Noto Sans SC';
font-weight: 700;
font-style: normal;
color: #266FFF;
font-size: 18px;
font-size: 24px;
color: #0B94D5;
text-align: left;
}
.patientprofiletext2{
font-family: 'Noto Sans SC Bold', 'Noto Sans SC Regular', 'Noto Sans SC';
font-weight: 700;
font-style: normal;
font-size: 22px;
font-size: 20px;
color: #FFFFFF;
}
.patientprofiletext3{
font-weight: 400;
font-family: 'Noto Sans SC Bold', 'Noto Sans SC Regular', 'Noto Sans SC';
font-weight: 700;
font-style: normal;
font-size: 16px;
font-size: 20px;
color: #FFFFFF;
}
.username-line {
width: 2px;
height: 15px;
height: 22px;
margin: 0 10px;
background-color: #fff;
}
@ -625,28 +646,27 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
}
.patientprofile-container-leftbox{
width: 500px;
height: 395px;
background-color: rgba(40, 40, 40, 1);
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;
height: calc(100% - 395px - 15px) ;
background-color: rgba(40, 40, 40, 1);
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) ;
height: 100%;
background-color: rgba(40, 40, 40, 1);
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-title-display{
width: 100%;
height: 50px;
border-bottom: 1px solid #000;
height: 60px;
display: flex;
align-items: center;
justify-content: space-between;
@ -675,40 +695,50 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
margin-bottom: 22px;
}
.patientprofile-userinfo-text1{
width: 75px;
width: 60px;
font-family: 'Noto Sans SC';
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #949494;
color: rgba(255, 255, 255, 0.6);
}
.patientprofile-userinfo-text2{
width: 150px;
font-family: 'Noto Sans SC';
font-weight: 400;
font-style: normal;
font-size: 16px;
color: #FFFFFF;
}
.patientprofile-userinfo-text3{
width: 70px;
font-family: 'Noto Sans SC';
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #FFFFFF;
color: rgba(255, 255, 255, 0.6);
}
.patientprofile-butotn{
width: 98px;
height: 30px;
height: 40px;
background: inherit;
background-color: rgba(64, 64, 64, 1);
background-color: rgba(55, 65, 81, 1);
border-radius: 4px;
box-shadow: 0 0 0 rgba(64, 64, 64, 1);
border-color: rgba(64, 64, 64, 1);
box-shadow: 0 0 0 rgba(55, 65, 81, 1);
border-color: rgba(55, 65, 81, 1);
font-weight: 400;
font-style: normal;
font-size: 14px;
color: rgb(120, 120, 120);
color: rgba(255, 255, 255, 0.5);
cursor: default;
}
.patientprofile-selectedbutotn{
width: 98px;
height: 30px;
background-color: rgba(38, 111, 255, 1);
height: 40px;
background-color: #0b94d5;
border-radius: 4px;
box-shadow: 0 0 0 rgba(38, 111, 255, 1);
border-color: rgba(38, 111, 255, 1);
box-shadow: 0 0 0 #0b94d5;
border-color: #0b94d5;
font-weight: 400;
font-style: normal;
font-size: 14px;
@ -739,17 +769,23 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
}
.patient-profile-container .el-table th.el-table__cell.is-leaf {
background-color: rgb(70, 70, 70) !important;
background-color: #374151!important;
font-family: 'Noto Sans SC Bold', 'Noto Sans SC Regular', 'Noto Sans SC';
font-weight: 700;
font-style: normal;
font-size: 14px;
color: rgba(255, 255, 255, 0.6);
height: 50px;
}
.patient-profile-container .el-table th.el-table__cell.is-leaf{
border-bottom: 1px solid rgba(54, 54, 54, 1);
border-bottom: 1px solid #374151;
}
.patient-profile-container .el-table td.el-table__cell {
background-color: #282828 !important;
border-bottom: 1px solid rgba(54, 54, 54, 1);
background-color: transparent !important;
border-bottom: 1px solid #374151;
}
.patient-profile-container .el-table td.el-table__cell:hover {
background-color: #363636 !important; /* 自定义浅蓝底色 */
background-color: #1f2a45 !important; /* 自定义浅蓝底色 */
}
.patient-profile-container .el-table .cell{
font-size: 14px !important;
@ -822,20 +858,20 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
height: 16px;
}
.patient-profile-container .el-checkbox__input.is-indeterminate .el-checkbox__inner{
background-color: rgba(38, 111, 255, 1);
border-color: rgba(38, 111, 255, 1);
background-color: #0b94d5;
border-color: #0b94d5;
}
.patient-profile-container .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{
top: 6px;
}
.patient-profile-container .el-checkbox__input.is-checked .el-checkbox__inner{
background-color: rgba(38, 111, 255, 1);
border-color: rgba(38, 111, 255, 1);
background-color: #0b94d5;
border-color: #0b94d5;
}
.patient-profile-container .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{
background-color: #363636 !important;
background-color: #1f2a45 !important;
}
.patientprofile-son-text{
font-weight: 700;
@ -858,21 +894,21 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
.patientprofile-container-databg{
width: 100%;
height: calc(100% - 40px);
background-color: rgba(27, 27, 27, 1);
background-color: rgba(55, 65, 81, 1);
border-radius: 10px;
display: flex;
align-items: center;
padding: 10px 0px;
}
}
.patientprofile-container-dataInfobg{
width: 100%;
height: calc(100% - 40px);
background-color: rgba(27, 27, 27, 1);
/* background-color: rgba(55, 65, 81, 1); */
border-radius: 10px;
display: flex;
align-items: center;
padding: 10px;
padding-left: 0;
}
@ -901,7 +937,7 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
.patientprofile-container-data-line{
width: 4px;
height: 13px;
background-color: rgba(38, 111, 255, 1);
background-color: #0b94d5;
margin-right: 3px;
}
.patientprofile-container-data-title{
@ -942,7 +978,7 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
border-radius: 4px;
}
.patientprofile-imgactive:hover{
border: 2px solid rgba(38, 111, 255, 1);
border: 2px solid #0b94d5;
}
.patientprofile-imgtextbox{
width: 100%;
@ -1000,10 +1036,11 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
justify-items: center;
}
.patientprofile-container-dataInfobg-lefttext{
font-family: 'Noto Sans SC';
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #787878;
color: rgba(255, 255, 255, 0.6);
width: 60px;
text-align: center;
padding-top: 10px;
@ -1018,15 +1055,15 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
.patientprofile-container-dataInfobg-textarea .el-textarea__inner{
width: 100% ;
height: 100%;
background: #282828;
box-shadow: 0 0 0 1px rgb(54, 54, 54) inset;
background: #191D28;
box-shadow: 0 0 0 1px #191D28 inset;
color: #fff;
}
.patientprofile-container-dataInfobg-textarea .el-textarea__inner:hover{
width: 100% ;
height: 100%;
background: #282828;
box-shadow: 0 0 0 1px rgba(38, 111, 255, 1) inset;
background: #191D28;
box-shadow: 0 0 0 1px #0b94d5 inset;
}
.patientprofile-container-dataInfobg-rightbox{
@ -1037,12 +1074,12 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
}
.patientprofile-container-dataInfobg .el-select__wrapper{
height: 40px;
background: #282828;
box-shadow: 0 0 0 1px rgb(54, 54, 54) inset;
background: #191D28;
box-shadow: 0 0 0 1px #191D28 inset;
}
.patientprofile-container-dataInfobg .el-select__wrapper:hover{
background: #282828;
box-shadow: 0 0 0 1px rgba(38, 111, 255, 1) inset !important;
background: #191D28;
box-shadow: 0 0 0 1px #0b94d5 inset !important;
}
.patientprofile-container-dataInfobg-rightbottombox{
display: flex;
@ -1060,4 +1097,15 @@ async function handleDiagnosticInfo(status) { // 保存诊断信息
color: #00CC00;
margin-left: 20px;
}
.profile-text{
font-family: 'Noto Sans SC Bold', 'Noto Sans SC Regular', 'Noto Sans SC';
font-weight: 700;
font-style: normal;
font-size: 20px;
color: #FFFFFF;
}
.opacity50{
opacity: 0.5;
}
</style>

View File

@ -515,10 +515,11 @@ function getDayNum(date2,index){
const sessionsInit = async () => {
try {
let params ={
patient_id: route.params.id
patient_id: '202511270002'
}
//
const response = await historyAPI.sessionsPage(params)
debugger
if (response.success) {
response.data.sessions.forEach(element => {
element.list = [{}]