提交merge1.3
This commit is contained in:
@@ -0,0 +1,725 @@
|
||||
<template>
|
||||
<div style="padding: 20px; max-width: 1200px; margin: 0 auto" ref="bodyRef">
|
||||
<!-- 标题区域 - 居中加粗,增加层次感 -->
|
||||
<div style="text-align: center; margin-bottom: 30px">
|
||||
<div style="font-size: 22px; color: #333; letter-spacing: 1px">长春市朝阳区中医院</div>
|
||||
<div
|
||||
style="
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
color: #222;
|
||||
padding: 12px 0;
|
||||
border-bottom: 2px solid #333;
|
||||
display: inline-block;
|
||||
"
|
||||
>
|
||||
入院记录
|
||||
</div>
|
||||
<div style="margin-top: 8px; font-size: 14px; color: #666">(第 1 页,共 1 页)</div>
|
||||
</div>
|
||||
|
||||
<!-- 基本信息模块 - 卡片式布局,优化间距和对齐 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 8px;
|
||||
padding: 25px;
|
||||
margin-bottom: 25px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
"
|
||||
>
|
||||
基本信息
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||
gap: 18px;
|
||||
"
|
||||
>
|
||||
<!-- 第一列 -->
|
||||
<div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>姓名:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.patientName
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>性别:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.gender
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>民族:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.nation || '汉族'
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>婚姻状况:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.marriage || ''
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>入院时间:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.admissionTime || ''
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>病史陈述:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.historyReporter || ''
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 第二列 -->
|
||||
<div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>住院号:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.hospitalNo || '123456'
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>年龄:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.age || '16 岁'
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>职业:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.occupation || '中医'
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>出生地:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.birthplace || '阿拉善'
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>记录时间:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.recordTime || '2025-12-18 14:04:00'
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>可靠程度:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.5">{{
|
||||
formData.reliability
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 病史信息模块 - 优化布局,内容可换行 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 8px;
|
||||
padding: 25px;
|
||||
margin-bottom: 25px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
"
|
||||
>
|
||||
病史信息
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||
gap: 18px;
|
||||
"
|
||||
>
|
||||
<!-- 第一列 -->
|
||||
<div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>家族史:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.6">{{
|
||||
formData.familyHistory || ''
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>现病史:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.6">{{
|
||||
formData.presentIllness || ''
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>既往史:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.6">{{
|
||||
formData.pastIllness || formData.pastHistory || ''
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>主诉:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.6">{{
|
||||
formData.complaint || ''
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 第二列 -->
|
||||
<div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>婚育史:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.6">{{
|
||||
formData.maritalHistory || ''
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 16px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>月经史:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.6">{{
|
||||
formData.menstrualHistory || ''
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start">
|
||||
<span style="font-weight: 500; color: #333; min-width: 80px; font-size: 15px"
|
||||
>个人史:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.6">{{
|
||||
formData.personalHistory || ''
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 中医望闻问切模块 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 8px;
|
||||
padding: 25px;
|
||||
margin-bottom: 25px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
"
|
||||
>
|
||||
中医望闻问切
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start">
|
||||
<span style="font-weight: 500; color: #333; min-width: 120px; font-size: 15px"
|
||||
>详细记录:</span
|
||||
>
|
||||
<span style="font-size: 14px; color: #666; line-height: 1.8">{{
|
||||
formData.tcmInfo || ''
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 体格检查模块 - 优化两列布局,信息对齐 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 8px;
|
||||
padding: 25px;
|
||||
margin-bottom: 25px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
"
|
||||
>
|
||||
体格检查
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||
gap: 25px;
|
||||
"
|
||||
>
|
||||
<!-- 第一列:生命体征 -->
|
||||
<div>
|
||||
<div
|
||||
style="
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
margin-bottom: 15px;
|
||||
padding-bottom: 8px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
"
|
||||
>
|
||||
生命体征
|
||||
</div>
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px">
|
||||
<div style="padding: 10px; background: #f8f8f8; border-radius: 4px; text-align: center">
|
||||
<div style="font-size: 13px; color: #666; margin-bottom: 4px">体温</div>
|
||||
<div style="font-size: 14px; color: #333; font-weight: 500">
|
||||
{{ formData.temp || '' }}
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 10px; background: #f8f8f8; border-radius: 4px; text-align: center">
|
||||
<div style="font-size: 13px; color: #666; margin-bottom: 4px">脉搏</div>
|
||||
<div style="font-size: 14px; color: #333; font-weight: 500">
|
||||
{{ formData.pulse || '' }}
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 10px; background: #f8f8f8; border-radius: 4px; text-align: center">
|
||||
<div style="font-size: 13px; color: #666; margin-bottom: 4px">呼吸</div>
|
||||
<div style="font-size: 14px; color: #333; font-weight: 500">
|
||||
{{ formData.respiration || '' }}
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 10px; background: #f8f8f8; border-radius: 4px; text-align: center">
|
||||
<div style="font-size: 13px; color: #666; margin-bottom: 4px">血压</div>
|
||||
<div style="font-size: 14px; color: #333; font-weight: 500">
|
||||
{{ formData.bp || '' }}
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 10px; background: #f8f8f8; border-radius: 4px; text-align: center">
|
||||
<div style="font-size: 13px; color: #666; margin-bottom: 4px">身高</div>
|
||||
<div style="font-size: 14px; color: #333; font-weight: 500">
|
||||
{{ formData.height || '' }}
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 10px; background: #f8f8f8; border-radius: 4px; text-align: center">
|
||||
<div style="font-size: 13px; color: #666; margin-bottom: 4px">体重</div>
|
||||
<div style="font-size: 14px; color: #333; font-weight: 500">
|
||||
{{ formData.weight || '' }}
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
padding: 10px;
|
||||
background: #f8f8f8;
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
grid-column: 1/3;
|
||||
"
|
||||
>
|
||||
<div style="font-size: 13px; color: #666; margin-bottom: 4px">BMI</div>
|
||||
<div style="font-size: 14px; color: #333; font-weight: 500">
|
||||
{{ formData.bmi || '' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 第二列:检查详情 -->
|
||||
<div>
|
||||
<div
|
||||
style="
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
margin-bottom: 15px;
|
||||
padding-bottom: 8px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
"
|
||||
>
|
||||
检查详情
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 14px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 100px; font-size: 14px"
|
||||
>皮肤粘膜:</span
|
||||
>
|
||||
<span style="font-size: 13px; color: #666; line-height: 1.5">{{
|
||||
formData.skin || ''
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 14px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 100px; font-size: 14px"
|
||||
>胸部:</span
|
||||
>
|
||||
<span style="font-size: 13px; color: #666; line-height: 1.5">{{
|
||||
formData.chest || ''
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 14px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 100px; font-size: 14px"
|
||||
>腹部:</span
|
||||
>
|
||||
<span style="font-size: 13px; color: #666; line-height: 1.5">{{
|
||||
formData.abdomen || ''
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start; margin-bottom: 14px">
|
||||
<span style="font-weight: 500; color: #333; min-width: 100px; font-size: 14px"
|
||||
>一般情况:</span
|
||||
>
|
||||
<span style="font-size: 13px; color: #666; line-height: 1.5">{{
|
||||
formData.general || ''
|
||||
}}</span>
|
||||
</div>
|
||||
<div style="display: flex; align-items: flex-start">
|
||||
<span style="font-weight: 500; color: #333; min-width: 100px; font-size: 14px"
|
||||
>四肢/神经:</span
|
||||
>
|
||||
<span style="font-size: 13px; color: #666; line-height: 1.5">{{
|
||||
formData.limbsNervous || ''
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 辅助检查模块 - 合并重复模块,优化显示 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 8px;
|
||||
padding: 25px;
|
||||
margin-bottom: 25px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
"
|
||||
>
|
||||
辅助检查
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
||||
gap: 20px;
|
||||
"
|
||||
>
|
||||
<div style="padding: 15px; background: #f8f8f8; border-radius: 6px">
|
||||
<div style="font-weight: 500; color: #333; font-size: 15px; margin-bottom: 8px">
|
||||
检查结果:
|
||||
</div>
|
||||
<div style="font-size: 14px; color: #666; line-height: 1.6">
|
||||
{{ formData.auxExam || '' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 诊断信息模块 - 修正分类,优化布局 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 8px;
|
||||
padding: 25px;
|
||||
margin-bottom: 25px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
"
|
||||
>
|
||||
诊断信息
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
||||
gap: 20px;
|
||||
"
|
||||
>
|
||||
<div style="padding: 18px; background: #f8f8f8; border-radius: 6px">
|
||||
<div style="font-weight: 500; color: #333; font-size: 15px; margin-bottom: 10px">
|
||||
中医诊断:
|
||||
</div>
|
||||
<div style="font-size: 14px; color: #666; line-height: 1.8">
|
||||
{{ formData.tcmDiagnosis || '' }}
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 18px; background: #f8f8f8; border-radius: 6px">
|
||||
<div style="font-weight: 500; color: #333; font-size: 15px; margin-bottom: 10px">
|
||||
西医诊断:
|
||||
</div>
|
||||
<div style="font-size: 14px; color: #666; line-height: 1.8">
|
||||
{{ formData.westernDiagnosis || '' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 签名信息模块 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 8px;
|
||||
padding: 25px;
|
||||
margin-bottom: 30px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
"
|
||||
>
|
||||
签名信息
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
||||
gap: 30px;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
"
|
||||
>
|
||||
<div style="text-align: center">
|
||||
<div
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
font-size: 15px;
|
||||
margin-bottom: 40px;
|
||||
border-bottom: 1px solid #333;
|
||||
padding-bottom: 2px;
|
||||
display: inline-block;
|
||||
"
|
||||
>
|
||||
医师签名
|
||||
</div>
|
||||
<div style="font-size: 14px; color: #666">{{ formData.doctorSign || '' }}</div>
|
||||
</div>
|
||||
<div style="text-align: center">
|
||||
<div
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
font-size: 15px;
|
||||
margin-bottom: 40px;
|
||||
border-bottom: 1px solid #333;
|
||||
padding-bottom: 2px;
|
||||
display: inline-block;
|
||||
"
|
||||
>
|
||||
上级医师
|
||||
</div>
|
||||
<div style="font-size: 14px; color: #666">{{ formData.superiorSign || '' }}</div>
|
||||
</div>
|
||||
<div style="text-align: center">
|
||||
<div
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
font-size: 15px;
|
||||
margin-bottom: 40px;
|
||||
border-bottom: 1px solid #333;
|
||||
padding-bottom: 2px;
|
||||
display: inline-block;
|
||||
"
|
||||
>
|
||||
记录日期
|
||||
</div>
|
||||
<div style="font-size: 14px; color: #666">{{ formData.signDate || '' }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 底部备注 -->
|
||||
<div
|
||||
style="
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
color: #888;
|
||||
margin-bottom: 20px;
|
||||
padding-top: 10px;
|
||||
border-top: 1px solid #eee;
|
||||
"
|
||||
>
|
||||
本记录由长春市朝阳区中医院医师根据患者病情如实记录,仅供临床诊疗参考 |
|
||||
地址:长春市朝阳区XX街XX号 | 联系电话:0431-XXXXXXX
|
||||
</div>
|
||||
|
||||
<!-- 打印按钮 - 优化样式,居中显示 -->
|
||||
<!-- <div style="text-align: center; margin-bottom: 30px">
|
||||
<el-button type="primary" @click="onPrint" style="padding: 10px 30px; font-size: 15px"
|
||||
>打印预览</el-button
|
||||
>
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive } from 'vue';
|
||||
import { previewPrint } from '../../../utils/printUtils';
|
||||
|
||||
const bodyRef = ref();
|
||||
|
||||
// 响应式表单数据
|
||||
const formData = reactive({
|
||||
// 基础信息
|
||||
patientName: '', // 原patient?.name
|
||||
hospitalNo: '', // 原patient?.busNo
|
||||
gender: '', // 原patient?.genderEnum_enumText
|
||||
age: '',
|
||||
nation: '',
|
||||
occupation: '', // 职业
|
||||
marriage: '', // 婚姻状况
|
||||
birthplace: '', // 出生地
|
||||
admissionTime: '', // 入院时间
|
||||
recordTime: '', // 记录时间
|
||||
historyReporter: '', // 病史陈述者
|
||||
reliability: '可靠', // 可靠程度
|
||||
// 病史信息
|
||||
complaint: '', // 主诉
|
||||
presentIllness: '', // 现病史
|
||||
pastIllness: '', // 既往史
|
||||
personalHistory: '', // 个人史
|
||||
allergyHistory: '', // 过敏史
|
||||
pastHistory: '', // 既往史(重复字段,保留兼容)
|
||||
familyHistory: '', // 家族史
|
||||
maritalHistory: '', // 婚姻史
|
||||
menstrualHistory: '', // 月经史
|
||||
// 中医信息
|
||||
tcmInfo: '',
|
||||
|
||||
// 体格检查
|
||||
temp: '',
|
||||
pulse: '',
|
||||
respiration: '',
|
||||
bp: '',
|
||||
height: '',
|
||||
weight: '',
|
||||
bmi: '',
|
||||
general: '',
|
||||
skin: '',
|
||||
chest: '',
|
||||
abdomen: '',
|
||||
limbsNervous: '',
|
||||
|
||||
// 辅助检查
|
||||
auxExam: '',
|
||||
|
||||
// 诊断信息
|
||||
tcmDiagnosis: '',
|
||||
westernDiagnosis: '',
|
||||
|
||||
// 签名信息
|
||||
doctorSign: '',
|
||||
superiorSign: '',
|
||||
signDate: '',
|
||||
});
|
||||
|
||||
// 打印方法
|
||||
const onPrint = () => {
|
||||
// previewPrint(bodyRef.value);
|
||||
};
|
||||
|
||||
const getDom = () => {
|
||||
return bodyRef.value;
|
||||
};
|
||||
const setData = (data) => {
|
||||
console.log('设置数据=========>', JSON.stringify(data));
|
||||
Object.assign(formData, data);
|
||||
};
|
||||
defineExpose({
|
||||
setData,
|
||||
getDom,
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/* 打印样式优化,隐藏不必要元素 */
|
||||
@media print {
|
||||
.el-button {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
body {
|
||||
print-color-adjust: exact;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
|
||||
div[style*='box-shadow'] {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,543 @@
|
||||
<template>
|
||||
<div
|
||||
ref="bodyRef"
|
||||
style="
|
||||
padding: 30px 20px;
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
min-height: 100vh;
|
||||
background: #f8f9fa;
|
||||
font-family: 'Microsoft YaHei', 'PingFang SC', sans-serif;
|
||||
"
|
||||
>
|
||||
<!-- 标题区域 - 强化正式感与层次感 -->
|
||||
<div style="text-align: center; margin-bottom: 35px; padding: 20px 0">
|
||||
<div
|
||||
style="
|
||||
font-size: 24px;
|
||||
color: #2c3e50;
|
||||
letter-spacing: 2px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 8px;
|
||||
"
|
||||
>
|
||||
长春市朝阳区中医院
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
color: #1a2b48;
|
||||
padding: 12px 0;
|
||||
border-bottom: 2px solid #2c3e50;
|
||||
display: inline-block;
|
||||
letter-spacing: 1px;
|
||||
"
|
||||
>
|
||||
出院诊断病历
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 基础信息卡片 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #e5e8eb;
|
||||
border-radius: 12px;
|
||||
padding: 25px;
|
||||
margin-bottom: 25px;
|
||||
background: #ffffff;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #2c3e50;
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #f0f2f5;
|
||||
position: relative;
|
||||
"
|
||||
>
|
||||
基础信息
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||
gap: 18px;
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>姓名:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.patientName }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>性别:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.gender }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>年龄:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.age }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>住院号:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.busNo }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>职业:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.temperature }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>入院时间:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.admissionDate }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>出院时间:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.dischargeDate }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>住院天数:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.hospitalDays }}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 诊断信息卡片 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #e5e8eb;
|
||||
border-radius: 12px;
|
||||
padding: 25px;
|
||||
margin-bottom: 25px;
|
||||
background: #ffffff;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #2c3e50;
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #f0f2f5;
|
||||
position: relative;
|
||||
"
|
||||
>
|
||||
诊断
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||
gap: 18px;
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>出诊诊断:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.DischargeDiagnosis }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
grid-column: 1 / -1;
|
||||
padding: 4px 0;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>出院病情摘要:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.SummaryAndDiagnosisAndTreatmentProcess }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
grid-column: 1 / -1;
|
||||
padding: 4px 0;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>出院后要求及注意事项:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.RequirementsAndPrecautionsAfterDischarge }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
grid-column: 1 / -1;
|
||||
padding: 4px 0;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #34495e;
|
||||
min-width: 80px;
|
||||
font-size: 15px;
|
||||
flex-shrink: 0;
|
||||
word-wrap: break-word;
|
||||
"
|
||||
>中医调护:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
flex: 1;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
"
|
||||
>{{ formData.TraditionalChineseMedicineNursing }}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive } from 'vue'; // 补充缺失的reactive导入
|
||||
|
||||
const bodyRef = ref(null);
|
||||
const showPrintPreview = ref(false); // 控制弹窗显隐
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
patientName: '', // 姓名
|
||||
age: '', // 年龄
|
||||
gender: '', // 性别
|
||||
busNo: '', // 住院号
|
||||
admissionDate: '', // 入院日期
|
||||
dischargeDate: '', // 出院日期
|
||||
hospitalDays: '', // 住院天数
|
||||
DischargeDiagnosis: '', // 出院诊断
|
||||
SummaryAndDiagnosisAndTreatmentProcess: '', // 出院病情摘要及诊疗经过
|
||||
RequirementsAndPrecautionsAfterDischarge: '', // 出院后要求及注意事项
|
||||
TraditionalChineseMedicineNursing: '', // 中医调护
|
||||
});
|
||||
|
||||
const getDom = () => {
|
||||
return bodyRef.value;
|
||||
};
|
||||
|
||||
const setData = (data) => {
|
||||
console.log('设置数据=========>', JSON.stringify(data));
|
||||
Object.assign(formData, data);
|
||||
};
|
||||
|
||||
defineExpose({
|
||||
setData,
|
||||
getDom,
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/* 以下是内联样式无法实现的样式(保留说明) */
|
||||
/* 1. 伪元素样式(card-title::after):内联样式不支持伪元素 */
|
||||
/* 2. hover效果:内联样式不支持:hover伪类 */
|
||||
/* 3. 媒体查询响应式:内联样式无法编写@media规则 */
|
||||
/* 4. 打印预览相关样式:若需要打印功能,需单独处理 */
|
||||
</style>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,347 @@
|
||||
<template>
|
||||
<div style="padding: 20px; background: #f8f9fa; min-height: 100vh;" ref="bodyRef">
|
||||
<!-- 标题区域 - 强化正式感 -->
|
||||
<div
|
||||
style="text-align: center; margin-bottom: 30px; padding: 20px; background: #fff; border-radius: 12px; box-shadow: 0 2px 6px rgba(0,0,0,0.03);">
|
||||
<div style="font-size: 22px; color: #2d3748; letter-spacing: 1px;">长春市朝阳区中医院</div>
|
||||
<div
|
||||
style="font-size: 28px; font-weight: 700; margin: 12px 0; padding: 8px 0; border-bottom: 2px solid #e8f4f8; display: inline-block;">
|
||||
住院患者入院沟通记录单</div>
|
||||
<div style="display: flex; justify-content: center; align-items: center; gap: 10px; font-size: 15px; ">
|
||||
<span style="font-weight: 500;">住院号:</span>
|
||||
<span style="font-weight: 600; text-decoration: underline;">20210001</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 基本信息模块 -->
|
||||
<div class="card-container">
|
||||
<div class="card-header">
|
||||
<span class="card-title">基本信息</span>
|
||||
</div>
|
||||
<div class="card-content grid-2col">
|
||||
<div class="info-item">
|
||||
<span class="info-label">姓名:</span>
|
||||
<span class="info-value">张三</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">性别:</span>
|
||||
<span class="info-value">男</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">年龄:</span>
|
||||
<span class="info-value">34 岁</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">科室/病区:</span>
|
||||
<span class="info-value">中医科</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">病房/床号:</span>
|
||||
<span class="info-value">305-2</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">入院日期:</span>
|
||||
<span class="info-value">2025-02-14</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 团队信息模块 -->
|
||||
<div class="card-container">
|
||||
<div class="card-header">
|
||||
<span class="card-title">团队信息</span>
|
||||
</div>
|
||||
<div class="card-content grid-2col">
|
||||
<div class="info-item">
|
||||
<span class="info-label">经治医生:</span>
|
||||
<span class="info-value">华佗</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">主治医生:</span>
|
||||
<span class="info-value">王海明</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">科主任:</span>
|
||||
<span class="info-value">特斯拉</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 病情与诊断模块 -->
|
||||
<div class="card-container">
|
||||
<div class="card-header">
|
||||
<span class="card-title">病情与诊断</span>
|
||||
</div>
|
||||
<div class="card-content grid-2col">
|
||||
<div class="info-item">
|
||||
<span class="info-label">病情状况:</span>
|
||||
<div class="info-value multi-line">
|
||||
1111111111111111111111111111111111111111111111111111111111111111111111111111</div>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">中医诊断:</span>
|
||||
<div class="info-value multi-line">
|
||||
1111111111111111111111111111111111111111111111111111111111111111111111111111</div>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">西医诊断:</span>
|
||||
<div class="info-value multi-line">
|
||||
1111111111111111111111111111111111111111111111111111111111111111111111111111</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 治疗与检查计划模块 -->
|
||||
<div class="card-container">
|
||||
<div class="card-header">
|
||||
<span class="card-title">治疗与检查计划</span>
|
||||
</div>
|
||||
<div class="card-content grid-2col">
|
||||
<div class="info-item">
|
||||
<span class="info-label">治疗方案:</span>
|
||||
<div class="info-value multi-line">
|
||||
1111111111111111111111111111111111111111111111111111111111111111111111111111</div>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">进一步检查项目:</span>
|
||||
<div class="info-value multi-line">血常规、肝肾功能、腹部B超、心电图、中医辨证分型检查、肿瘤标志物筛查</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 风险告知模块 -->
|
||||
<div class="card-container">
|
||||
<div class="card-header">
|
||||
<span class="card-title">风险告知</span>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<div class="info-item full-width">
|
||||
<span class="info-label">告知内容:</span>
|
||||
<div class="info-value multi-line">
|
||||
1. 治疗过程中可能出现药物不良反应(如过敏、胃肠道不适等),若出现不适需及时告知医护人员;<br />
|
||||
2. 检查项目存在一定的操作风险(如穿刺出血、感染等),医护人员将严格按照规范操作;<br />
|
||||
3. 病情可能因个体差异出现变化,需根据实际情况调整治疗方案;<br />
|
||||
4. 若患者存在隐瞒病史、不配合治疗等情况,可能影响治疗效果,相关风险由患者自行承担。
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 签署确认模块 -->
|
||||
<div class="card-container">
|
||||
<div class="card-header">
|
||||
<span class="card-title">签署确认</span>
|
||||
</div>
|
||||
<div class="card-content grid-2col">
|
||||
<div class="info-item">
|
||||
<span class="info-label">患者或家属:</span>
|
||||
<span class="info-value">张三</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">与患者关系:</span>
|
||||
<span class="info-value">妻子</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">签字日期:</span>
|
||||
<span class="info-value">2025-02-14</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">沟通医师签字:</span>
|
||||
<span class="info-value">华佗</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">沟通日期:</span>
|
||||
<span class="info-value">2025-02-14</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
/* 全局卡片容器统一样式 */
|
||||
.card-container {
|
||||
border: 1px solid #e0e0e0;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
|
||||
margin-bottom: 20px;
|
||||
background: #fff;
|
||||
transition: box-shadow 0.3s ease, transform 0.2s ease;
|
||||
}
|
||||
|
||||
/* 卡片hover效果 */
|
||||
.card-container:hover {
|
||||
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
/* 卡片头部样式 */
|
||||
.card-header {
|
||||
padding: 14px 20px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
background-color: #f5fafe;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* 卡片标题样式 */
|
||||
.card-title {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
/* 卡片内容区统一样式 */
|
||||
.card-content {
|
||||
padding: 22px;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
/* 2列网格布局(桌面端) */
|
||||
.grid-2col {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
/* 信息项统一样式 */
|
||||
.info-item {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
/* 改为顶端对齐,适配多行文本 */
|
||||
padding: 9px 0;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
/* 信息标签样式 */
|
||||
.info-label {
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 110px;
|
||||
font-size: 15px;
|
||||
padding-top: 5px;
|
||||
/* 对齐多行文本的顶部 */
|
||||
}
|
||||
|
||||
/* 信息值样式(单行) */
|
||||
.info-value {
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
min-height: 28px;
|
||||
/* 确保单行和多行高度一致 */
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* 多行文本样式(适配长内容) */
|
||||
.info-value.multi-line {
|
||||
align-items: flex-start;
|
||||
padding: 10px 12px;
|
||||
line-height: 1.6;
|
||||
min-height: 80px;
|
||||
/* 最小高度,避免内容过少时显得空旷 */
|
||||
white-space: pre-line;
|
||||
/* 支持换行符和空格 */
|
||||
}
|
||||
|
||||
/* 全屏宽度信息项(如风险告知) */
|
||||
.info-item.full-width {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* 信息值hover效果 */
|
||||
.info-value:hover {
|
||||
background: #f2f2f2;
|
||||
border-color: #e0e0e0;
|
||||
}
|
||||
|
||||
/* 响应式适配(移动端1列布局) */
|
||||
@media (max-width: 768px) {
|
||||
.grid-2col {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
padding: 16px;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.card-header {
|
||||
padding: 12px 16px;
|
||||
}
|
||||
|
||||
.card-title {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.info-item {
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.info-label {
|
||||
min-width: 90px;
|
||||
font-size: 14px;
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
.info-value {
|
||||
font-size: 14px;
|
||||
padding: 4px 10px;
|
||||
min-height: 24px;
|
||||
}
|
||||
|
||||
.info-value.multi-line {
|
||||
padding: 8px 10px;
|
||||
min-height: 60px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
/* 标题区域适配移动端 */
|
||||
div[style*="font-size: 28px"] {
|
||||
font-size: 24px !important;
|
||||
}
|
||||
|
||||
div[style*="font-size: 22px"] {
|
||||
font-size: 20px !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* 打印样式优化 */
|
||||
@media print {
|
||||
body {
|
||||
print-color-adjust: exact;
|
||||
-webkit-print-color-adjust: exact;
|
||||
background: #fff !important;
|
||||
}
|
||||
|
||||
.card-container {
|
||||
box-shadow: none !important;
|
||||
border: 1px solid #ddd !important;
|
||||
margin-bottom: 15px !important;
|
||||
transform: none !important;
|
||||
}
|
||||
|
||||
.card-header {
|
||||
background: #f8f8f8 !important;
|
||||
border-bottom: 1px solid #ddd !important;
|
||||
}
|
||||
|
||||
.info-value {
|
||||
background: #fff !important;
|
||||
border: 1px dashed #eee !important;
|
||||
}
|
||||
|
||||
.card-container:hover {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<script setup>
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,877 @@
|
||||
<template>
|
||||
<div style="padding: 20px; background: #f8f9fa; min-height: 100vh" ref="bodyRef">
|
||||
<!-- 标题区域 - 强化正式感 -->
|
||||
<div
|
||||
style="
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
padding: 20px;
|
||||
background: #fff;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
|
||||
"
|
||||
>
|
||||
<div style="font-size: 22px; color: #2d3748; letter-spacing: 1px">长春市朝阳区中医院</div>
|
||||
<div
|
||||
style="
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
margin: 12px 0;
|
||||
padding: 8px 0;
|
||||
border-bottom: 2px solid #e8f4f8;
|
||||
display: inline-block;
|
||||
"
|
||||
>
|
||||
患者与手术基础信息
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
font-size: 15px;
|
||||
color: #4a5568;
|
||||
"
|
||||
>
|
||||
<span style="font-weight: 500">住院号:</span>
|
||||
<span style="font-weight: 600; text-decoration: underline">{{ formData.busNo }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 基本信息模块(统一为card样式) -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #e0e0e0;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
|
||||
margin-bottom: 20px;
|
||||
background: #fff;
|
||||
transition: box-shadow 0.3s ease, transform 0.2s ease;
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
padding: 14px 20px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
"
|
||||
>
|
||||
<span style="font-size: 18px; font-weight: 600; letter-spacing: 0.5px">基本信息</span>
|
||||
</div>
|
||||
<div style="padding: 22px; gap: 20px; display: grid; grid-template-columns: repeat(2, 1fr)">
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>姓名:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.patientName }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>性别:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.gender }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>年龄:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.age }}岁</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>科室:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.department }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>病房/床号:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.bedNo }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>手术日期:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.operationDateTime }}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 手术团队信息模块 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #e0e0e0;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
|
||||
margin-bottom: 20px;
|
||||
background: #fff;
|
||||
transition: box-shadow 0.3s ease, transform 0.2s ease;
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
padding: 14px 20px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
"
|
||||
>
|
||||
<span style="font-size: 18px; font-weight: 600; letter-spacing: 0.5px">手术团队信息</span>
|
||||
</div>
|
||||
<div style="padding: 22px; gap: 20px; display: grid; grid-template-columns: repeat(2, 1fr)">
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>手术者:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.surgeon }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>第一助手:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.firstAssistant }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>第二助手:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.secondAssistant }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>器械护士:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.scrubNurse }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>麻醉医师:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.anesthesiologist }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>巡逻护士:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.circulatingNurse }}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 手术详情模块 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #e0e0e0;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
|
||||
margin-bottom: 20px;
|
||||
background: #fff;
|
||||
transition: box-shadow 0.3s ease, transform 0.2s ease;
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
padding: 14px 20px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
"
|
||||
>
|
||||
<span style="font-size: 18px; font-weight: 600; letter-spacing: 0.5px">手术详情</span>
|
||||
</div>
|
||||
<div style="padding: 22px; gap: 20px; display: grid; grid-template-columns: repeat(2, 1fr)">
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>手术名称:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.operationName }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>手术方式:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.operationMethod }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>手术入路:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.surgicalApproach }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>术中发现:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.intraoperativeFindings }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>手术过程:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.operationProcess }}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 术后情况模块 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #e0e0e0;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
|
||||
margin-bottom: 20px;
|
||||
background: #fff;
|
||||
transition: box-shadow 0.3s ease, transform 0.2s ease;
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
padding: 14px 20px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
"
|
||||
>
|
||||
<span style="font-size: 18px; font-weight: 600; letter-spacing: 0.5px">术后情况</span>
|
||||
</div>
|
||||
<div style="padding: 22px; gap: 20px; display: grid; grid-template-columns: repeat(2, 1fr)">
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>术中出血量:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.bloodLoss }}ml</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>输血情况:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.bloodTransfusion }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>引流管放置:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.drainageTube }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>标本处理:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.specimenDisposal }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>手术结束时间:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.operationEndTime }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>患者去向:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.patientDestination }}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 签署确认模块 -->
|
||||
<div
|
||||
style="
|
||||
border: 1px solid #e0e0e0;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
|
||||
margin-bottom: 20px;
|
||||
background: #fff;
|
||||
transition: box-shadow 0.3s ease, transform 0.2s ease;
|
||||
"
|
||||
>
|
||||
<div
|
||||
style="
|
||||
padding: 14px 20px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
"
|
||||
>
|
||||
<span style="font-size: 18px; font-weight: 600; letter-spacing: 0.5px">签署确认</span>
|
||||
</div>
|
||||
<div style="padding: 22px; gap: 20px; display: grid; grid-template-columns: repeat(2, 1fr)">
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>手术者签名:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.surgeonSignature }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>记录者签名:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.recorderSignature }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; padding: 9px 0">
|
||||
<span
|
||||
style="
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
margin-right: 10px;
|
||||
"
|
||||
>记录日期:</span
|
||||
>
|
||||
<span
|
||||
style="
|
||||
font-size: 15px;
|
||||
color: #222;
|
||||
padding: 5px 12px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
border: 1px solid #f0f0f0;
|
||||
transition: all 0.2s ease;
|
||||
"
|
||||
>{{ formData.recordDate }}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive, defineExpose } from 'vue';
|
||||
const bodyRef = ref();
|
||||
// 响应式表单数据
|
||||
const formData = reactive({
|
||||
// 患者与手术基础信息
|
||||
busNo: '',
|
||||
patientName: '',
|
||||
gender: '',
|
||||
age: '',
|
||||
department: '',
|
||||
bedNo: '',
|
||||
operationDateTime: '', // 手术日期时间
|
||||
|
||||
// 手术团队信息
|
||||
surgeon: '', // 主刀医师
|
||||
firstAssistant: '', // 第一助手
|
||||
secondAssistant: '', // 第二助手
|
||||
anesthesiologist: '', // 麻醉医师
|
||||
circulatingNurse: '', // 巡回护士
|
||||
scrubNurse: '', // 器械护士
|
||||
|
||||
// 手术详情
|
||||
operationName: '', // 规范手术名称
|
||||
operationMethod: '', // 手术方式
|
||||
surgicalApproach: '', // 手术入路
|
||||
intraoperativeFindings: '', // 术中发现
|
||||
operationProcess: '', // 手术过程
|
||||
|
||||
// 术后情况
|
||||
bloodLoss: '', // 术中出血量
|
||||
bloodTransfusion: '', // 输血情况
|
||||
drainageTube: '', // 引流管放置
|
||||
specimenDisposal: '', // 标本处理
|
||||
operationEndTime: '', // 手术结束时间
|
||||
patientDestination: '', // 患者去向
|
||||
|
||||
// 签署信息
|
||||
surgeonSignature: '', // 手术者签名
|
||||
recorderSignature: '', // 记录者签名
|
||||
recordDate: '', // 记录日期
|
||||
});
|
||||
const getDom = () => {
|
||||
return bodyRef.value;
|
||||
};
|
||||
const setData = (data) => {
|
||||
console.log('设置数据=========>', JSON.stringify(data));
|
||||
Object.assign(formData, data);
|
||||
};
|
||||
defineExpose({
|
||||
setData,
|
||||
getDom,
|
||||
});
|
||||
</script>
|
||||
@@ -1,305 +1,548 @@
|
||||
<template>
|
||||
<div class="form-header">
|
||||
<h2 class="form-title">住院病案首页</h2>
|
||||
</div>
|
||||
<h2 class="form-title">住院病案首页</h2>
|
||||
</div>
|
||||
|
||||
<div class="form-content">
|
||||
<!-- 医院信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">医院信息</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>组织机构代码:</label>
|
||||
<el-input type="text" v-model="formData.hospital.orgCode" placeholder="41275054-7" />
|
||||
<div class="form-content">
|
||||
<!-- 医院信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">医院信息</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>组织机构代码:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.hospitalInfo.medins_orgcode"
|
||||
placeholder="请填写组织机构代码"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>医疗付费方式:</label>
|
||||
<el-select placeholder="请选择" v-model="formData.hospitalInfo.medfee_paymtd_code">
|
||||
<el-option
|
||||
v-for="item in medicalSelectOptions"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>医疗付费方式:</label>
|
||||
<el-select v-model="formData.hospital.paymentMethod">
|
||||
<el-option value="">请选择</el-option>
|
||||
<el-option value="城镇职工基本医疗保险">城镇职工基本医疗保险</el-option>
|
||||
<el-option value="城乡居民基本医疗保险">城乡居民基本医疗保险</el-option>
|
||||
<el-option value="自费">自费</el-option>
|
||||
<el-option value="其他">其他</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<!-- 患者基本信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">患者基本信息</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>健康卡号:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.patientInfo.healthCardNo"
|
||||
placeholder="请填写健康卡号"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>姓名:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.patientInfo.patientName"
|
||||
placeholder="请填写健康姓名"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>性别:</label>
|
||||
<el-select v-model="formData.patientInfo.gend">
|
||||
<el-option
|
||||
v-for="item in sexOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<!-- <el-input v-model="formData.patientInfo.gend" placeholder="请输入"></el-input> -->
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>出生日期:</label>
|
||||
<el-input type="date" v-model="formData.patientInfo.brdy" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>年龄:</label>
|
||||
<el-input max="120" min="0" v-model="formData.patientInfo.age" placeholder="请填写年龄" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>国籍:</label>
|
||||
<el-input type="text" v-model="formData.patientInfo.ntly" placeholder="请填写国籍" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>籍贯:</label>
|
||||
<el-input type="text" v-model="formData.patientInfo.napl" placeholder="请填写籍贯" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>民族:</label>
|
||||
<!-- <el-input type="text" v-model="formData.patientInfo.ethnicity" placeholder="请填写民族" /> -->
|
||||
<el-select placeholder="请选择" v-model="formData.patientInfo.naty">
|
||||
<el-option
|
||||
v-for="item in natyOptions"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>身份证号:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.patientInfo.certno"
|
||||
placeholder="请填写身份证号"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>户口地址:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.patientInfo.resd_addr"
|
||||
placeholder="请填写户口地址"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>工作单位及地址:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.patientInfo.empr_addr"
|
||||
placeholder="请填写工作单位及地址"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>联系人姓名:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.patientInfo.coner_name"
|
||||
placeholder="请填写联系人姓名"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>关系:</label>
|
||||
<!-- <el-input
|
||||
type="text"
|
||||
v-model="formData.patientInfo.contactRelation"
|
||||
placeholder="请填写关系"
|
||||
/> -->
|
||||
<el-select placeholder="请选择" v-model="formData.patientInfo.coner_rlts_code">
|
||||
<el-option
|
||||
v-for="item in patn_rltsOptions"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>地址:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.patientInfo.coner_addr"
|
||||
placeholder="请填写地址"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>电话:</label>
|
||||
<el-input type="text" v-model="formData.patientInfo.coner_tel" placeholder="请填写电话" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 住院信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">住院信息</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>第几次住院:</label>
|
||||
<el-input
|
||||
type="number"
|
||||
v-model="formData.admission.patn_ipt_cnt"
|
||||
min="1"
|
||||
placeholder="请填写第几次住院"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>住院号:</label>
|
||||
<el-input type="text" v-model="formData.admission.ipt_no" placeholder="请填写住院号" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>病案号:</label>
|
||||
<el-input type="text" v-model="formData.admission.medcasno" placeholder="请填写病案号" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>入院途径:</label>
|
||||
<el-select v-model="formData.admission.adm_way_code" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in admissionOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>入院时间:</label>
|
||||
<el-input type="date" v-model="formData.admission.adm_time" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>入院科室:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.admission.adm_dept_name"
|
||||
placeholder="请填写入院科室"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>病房:</label>
|
||||
<el-input type="text" v-model="formData.admission.adm_ward" placeholder="请填写病房" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>确诊日期:</label>
|
||||
<el-input type="date" v-model="formData.admission.adm_date" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>出院时间:</label>
|
||||
<el-input type="datetime-local" v-model="formData.admission.dscg_date" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>出院科室:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.admission.dscg_caty"
|
||||
placeholder="请填写出院科室"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>病房:</label>
|
||||
<el-input type="text" v-model="formData.admission.dscg_ward" placeholder="请填写病房" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>实际住院天数:</label>
|
||||
<el-input
|
||||
type="number"
|
||||
v-model="formData.admission.act_ipt_days"
|
||||
placeholder="请填写实际住院天数"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 诊断信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">诊断信息</div>
|
||||
<el-col :span="23" :xs="24">
|
||||
<el-form disabled :model="formData" :rules="rules" ref="formRef">
|
||||
<el-table ref="diagnosisTableRef" :data="formData?.diagnosisList" width="100px">
|
||||
<el-table-column label="序号" type="index" width="50" />
|
||||
<el-table-column label="诊断排序" align="center" prop="diagSrtNo">
|
||||
<template #default="scope">
|
||||
<el-input-number
|
||||
v-model="scope.row.diagSrtNo"
|
||||
controls-position="right"
|
||||
:controls="false"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="诊断类别" align="center" prop="diagSrtNo">
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`diagnosisList.${scope.$index}.medTypeCode`"
|
||||
:rules="rules.medTypeCode"
|
||||
>
|
||||
<el-select
|
||||
v-model="scope.row.medTypeCode"
|
||||
placeholder=" "
|
||||
style="margin-top: 15px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in med_type"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="诊断名称" align="center" prop="name">
|
||||
<template #default="scope">
|
||||
<el-form-item :prop="`diagnosisList.${scope.$index}.name`" :rules="rules.name">
|
||||
<el-popover
|
||||
:popper-style="{ padding: '0' }"
|
||||
placement="bottom-start"
|
||||
:visible="scope.row.showPopover"
|
||||
trigger="manual"
|
||||
>
|
||||
<diagnosislist
|
||||
:diagnosisSearchkey="diagnosisSearchkey"
|
||||
@selectDiagnosis="handleSelsectDiagnosis"
|
||||
/>
|
||||
<template #reference>
|
||||
<el-input
|
||||
v-model="scope.row.name"
|
||||
placeholder="请选择诊断"
|
||||
@input="handleChange"
|
||||
@focus="handleFocus(scope.row, scope.$index)"
|
||||
@blur="handleBlur(scope.row)"
|
||||
style="margin-top: 15px"
|
||||
/>
|
||||
</template>
|
||||
</el-popover>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="医保码" align="center" prop="ybNo" />
|
||||
<el-table-column label="诊断类型" align="center" prop="maindiseFlag">
|
||||
<template #default="scope">
|
||||
<div style="display: flex">
|
||||
<el-checkbox
|
||||
label="主诊断"
|
||||
:trueLabel="1"
|
||||
:falseLabel="0"
|
||||
v-model="scope.row.maindiseFlag"
|
||||
border
|
||||
size="small"
|
||||
@change="(value) => handleMaindise(value, scope.$index)"
|
||||
/>
|
||||
<el-select
|
||||
v-model="scope.row.verificationStatusEnum"
|
||||
placeholder=" "
|
||||
style="padding-bottom: 5px; padding-left: 10px"
|
||||
size="small"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in diagnosisOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-form>
|
||||
</el-col>
|
||||
</div>
|
||||
|
||||
<!-- 医疗信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">医疗信息</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>是否输血:</label>
|
||||
<el-select v-model="formData.medicalInfo.bloodTransfusion">
|
||||
<el-option
|
||||
v-for="item in bloodOption"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>血型:</label>
|
||||
<el-select v-model="formData.medicalInfo.abo_code" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in bloodTypeOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>Rh:</label>
|
||||
<el-select v-model="formData.medicalInfo.rh_code" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in rhOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>药物过敏史:</label>
|
||||
<el-select v-model="formData.medicalInfo.die_autp_flag" placeholder="请选择"
|
||||
><el-option
|
||||
v-for="item in drugAllergyOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 医师信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">医师信息</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>科主任:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.doctorInfo.deptdrt_name"
|
||||
placeholder="请填写科主任"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>主任(副主任)医师:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.doctorInfo.chfdr_name"
|
||||
placeholder="请填写主任(副主任)医师"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>主治医师:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.doctorInfo.chfpdr_name"
|
||||
placeholder="请填写主治医师"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>住院医师:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.doctorInfo.ipt_dr_name"
|
||||
placeholder="请填写住院医师"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>责任护士:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.doctorInfo.resp_nurs_name"
|
||||
placeholder="请填写责任护士"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>住院总医师:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.doctorInfo.chiefResident"
|
||||
placeholder="请填写住院总医师"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>实习医师:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.doctorInfo.intn_dr_name"
|
||||
placeholder="请填写实习医师"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>病案质量:</label>
|
||||
<el-select v-model="formData.doctorInfo.medcas_qlt_code" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in recordQualityOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>编码员:</label>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="formData.doctorInfo.codr_name"
|
||||
placeholder="请填写编码员"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>质控日期:</label>
|
||||
<el-input type="date" v-model="formData.doctorInfo.qltctrl_date" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 患者基本信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">患者基本信息</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>健康卡号:</label>
|
||||
<el-input type="text" v-model="formData.patient.healthCardNo" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>姓名:</label>
|
||||
<el-input type="text" v-model="formData.patient.name" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>性别:</label>
|
||||
<el-select v-model="formData.patient.gender">
|
||||
<el-option value="" label="请选择"></el-option>
|
||||
<el-option value="1" label="男"></el-option>
|
||||
<el-option value="2" label="女"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>出生日期:</label>
|
||||
<el-date-picker v-model="formData.patient.birthDate" type="date" size="default"></el-date-picker>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>年龄:</label>
|
||||
<el-input type="number" max="120" min="0" v-model="formData.patient.age" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>国籍:</label>
|
||||
<el-input type="text" v-model="formData.patient.nationality" placeholder="中国" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>籍贯:</label>
|
||||
<el-input type="text" v-model="formData.patient.nativePlace" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>民族:</label>
|
||||
<el-input type="text" v-model="formData.patient.ethnicity" placeholder="汉族" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>身份证号:</label>
|
||||
<el-input type="text" v-model="formData.patient.idCardNo" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>户口地址:</label>
|
||||
<el-input type="text" v-model="formData.patient.householdAddress" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>工作单位及地址:</label>
|
||||
<el-input type="text" v-model="formData.patient.workUnit" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>联系人姓名:</label>
|
||||
<el-input type="text" v-model="formData.patient.contactName" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>关系:</label>
|
||||
<el-input type="text" v-model="formData.patient.contactRelation" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>地址:</label>
|
||||
<el-input type="text" v-model="formData.patient.contactAddress" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>电话:</label>
|
||||
<el-input type="text" v-model="formData.patient.contactPhone" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 住院信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">住院信息</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>第几次住院:</label>
|
||||
<el-input type="number" v-model="formData.admission.times" min="1" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>住院号:</label>
|
||||
<el-input type="text" v-model="formData.admission.hospitalNo" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>病案号:</label>
|
||||
<el-input type="text" v-model="formData.admission.recordNo" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>入院途径:</label>
|
||||
<el-select v-model="formData.admission.channel">
|
||||
<el-option value="">请选择</el-option>
|
||||
<el-option value="1">急诊</el-option>
|
||||
<el-option value="2">门诊</el-option>
|
||||
<el-option value="3">其他医疗机构转入</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>入院时间:</label>
|
||||
<el-input type="date" v-model="formData.admission.admitTime" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>入院科室:</label>
|
||||
<el-input type="text" v-model="formData.admission.department" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>病房:</label>
|
||||
<el-input type="text" v-model="formData.admission.ward" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>确诊日期:</label>
|
||||
<el-input type="date" v-model="formData.admission.confirmDate" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>出院时间:</label>
|
||||
<el-input type="datetime-local" v-model="formData.admission.dischargeTime" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>出院科室:</label>
|
||||
<el-input type="text" v-model="formData.admission.dischargeDepartment" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>病房:</label>
|
||||
<el-input type="text" v-model="formData.admission.dischargeWard" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>实际住院天数:</label>
|
||||
<el-input type="number" v-model="formData.admission.hospitalDays" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 诊断信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">诊断信息</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item full-width">
|
||||
<label>主要诊断:</label>
|
||||
<el-input type="text" v-model="formData.diagnosis.mainDiagnosis" placeholder="腰椎间盘突出症(L4-5)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item full-width">
|
||||
<label>其他诊断:</label>
|
||||
<el-input type="textarea" v-model="formData.diagnosis.otherDiagnosis" placeholder="腰椎管狭窄(L4-5)\n右下肢不全瘫"></el-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 医疗信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">医疗信息</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>是否输血:</label>
|
||||
<el-select v-model="formData.medicalInfo.bloodTransfusion">
|
||||
<el-option value="">请选择</el-option>
|
||||
<el-option value="1">是</el-option>
|
||||
<el-option value="2">否</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>血型:</label>
|
||||
<el-select v-model="formData.medicalInfo.bloodType">
|
||||
<el-option value="">请选择</el-option>
|
||||
<el-option value="A">A</el-option>
|
||||
<el-option value="B">B</el-option>
|
||||
<el-option value="AB">AB</el-option>
|
||||
<el-option value="O">O</el-option>
|
||||
<el-option value="不详">不详</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>Rh:</label>
|
||||
<el-select v-model="formData.medicalInfo.rhType">
|
||||
<el-option value="">请选择</el-option>
|
||||
<el-option value="1">阴</el-option>
|
||||
<el-option value="2">阳</el-option>
|
||||
<el-option value="3">不详</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>药物过敏史:</label>
|
||||
<el-select v-model="formData.medicalInfo.drugAllergy">
|
||||
<el-option value="">请选择</el-option>
|
||||
<el-option value="1" label="无"></el-option>
|
||||
<el-option value="2" label="有过敏药物"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 医师信息 -->
|
||||
<div class="section">
|
||||
<div class="section-title">医师信息</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>科主任:</label>
|
||||
<el-input type="text" v-model="formData.doctorInfo.departmentDirector" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>主任(副主任)医师:</label>
|
||||
<el-input type="text" v-model="formData.doctorInfo.chiefPhysician" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>主治医师:</label>
|
||||
<el-input type="text" v-model="formData.doctorInfo.attendingPhysician" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>住院医师:</label>
|
||||
<el-input type="text" v-model="formData.doctorInfo.residentPhysician" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>责任护士:</label>
|
||||
<el-input type="text" v-model="formData.doctorInfo.chargeNurse" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>住院总医师:</label>
|
||||
<el-input type="text" v-model="formData.doctorInfo.chiefResident" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>实习医师:</label>
|
||||
<el-input type="text" v-model="formData.doctorInfo.intern" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>病案质量:</label>
|
||||
<el-select v-model="formData.doctorInfo.recordQuality">
|
||||
<el-option value="">请选择</el-option>
|
||||
<el-option value="1" label="甲"></el-option>
|
||||
<el-option value="2" label="乙"></el-option>
|
||||
<el-option value="3" label="丙"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>编码员:</label>
|
||||
<el-input type="text" v-model="formData.doctorInfo.coder" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>质控日期:</label>
|
||||
<el-input type="date" v-model="formData.doctorInfo.qualityControlDate" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive } from 'vue';
|
||||
import { reactive, watch, ref } from 'vue';
|
||||
import formDataJs from '../../doctorstation/components/store/medicalpage';
|
||||
import { patientInfo } from '../../inpatientDoctor/home/store/patient';
|
||||
import diagnosislist from '../../inpatientDoctor/home/components/diagnosis/diagnosislist.vue';
|
||||
import { diagnosisInit } from '../../doctorstation/components/api';
|
||||
import useUserStore from '@/store/modules/user';
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { med_type } = proxy.useDict('med_type');
|
||||
const {
|
||||
medfee_paymtd_code,
|
||||
blotype_abo,
|
||||
blotype_rh,
|
||||
skintst_dicm,
|
||||
gend,
|
||||
adm_way,
|
||||
medcas_qlt_code,
|
||||
sys_yes_no,
|
||||
naty,
|
||||
patn_rlts,
|
||||
} = proxy.useDict(
|
||||
'medfee_paymtd_code',
|
||||
'blotype_abo',
|
||||
'blotype_rh',
|
||||
'skintst_dicm',
|
||||
'gend',
|
||||
'adm_way',
|
||||
'medcas_qlt_code',
|
||||
'sys_yes_no',
|
||||
'naty',
|
||||
'patn_rlts'
|
||||
);
|
||||
const formRef = ref();
|
||||
const diagnosisTableRef = ref();
|
||||
// 诊断类型下拉选
|
||||
const diagnosisOptions = ref([]);
|
||||
const userStore = useUserStore();
|
||||
const fixmedinsCode = userStore.fixmedinsCode;
|
||||
formDataJs.hospitalInfo.medins_orgcode = fixmedinsCode;
|
||||
// 医疗付费方式
|
||||
const medicalSelectOptions = medfee_paymtd_code;
|
||||
// 性别
|
||||
const sexOptions = gend;
|
||||
// 入院途径
|
||||
const admissionOptions = adm_way;
|
||||
|
||||
<<<<<<< HEAD
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
//组织机构代码
|
||||
@@ -502,9 +745,69 @@ const formData = reactive({
|
||||
coder: '',
|
||||
qualityControlDate: ''
|
||||
}
|
||||
=======
|
||||
// 是否输血
|
||||
const bloodOption = sys_yes_no;
|
||||
// 血型
|
||||
const bloodTypeOptions = blotype_abo;
|
||||
// Rh类型
|
||||
const rhOptions = blotype_rh;
|
||||
// 过敏史
|
||||
const drugAllergyOptions = skintst_dicm;
|
||||
// 病案质量
|
||||
const recordQualityOptions = medcas_qlt_code;
|
||||
// 民族
|
||||
const natyOptions = naty;
|
||||
// 与联系人关系
|
||||
const patn_rltsOptions = patn_rlts;
|
||||
const formData = reactive(formDataJs);
|
||||
|
||||
defineExpose({
|
||||
formData,
|
||||
});
|
||||
// 映射性别
|
||||
const mapSex = (data = '') => {
|
||||
let code = '0';
|
||||
if (data.indexOf('男') !== -1) {
|
||||
code = '1';
|
||||
}
|
||||
if (data.indexOf('女') !== -1) {
|
||||
code = '2';
|
||||
}
|
||||
return code;
|
||||
};
|
||||
watch(
|
||||
patientInfo,
|
||||
(newValue) => {
|
||||
if (newValue) {
|
||||
const birthDate = newValue.birthDate.split(' ');
|
||||
formData.patientInfo.patientName = newValue.patientName ?? '';
|
||||
formData.patientInfo.healthCardNo = newValue.busNo ?? '';
|
||||
formData.patientInfo.gend = mapSex(newValue.genderEnum_enumText) ?? '';
|
||||
formData.patientInfo.brdy = birthDate.length > 0 ? birthDate[0] : '';
|
||||
formData.patientInfo.age = newValue.age ?? '';
|
||||
formData.admission.patn_ipt_cnt = newValue.inHospitalDays ?? '';
|
||||
formData.admission.dscg_ward = newValue.houseName ?? '';
|
||||
formData.admission.adm_ward = newValue.houseName ?? '';
|
||||
formData.admission.ipt_no = newValue.contractNo ?? '';
|
||||
}
|
||||
},
|
||||
{ immediate: true }
|
||||
);
|
||||
init();
|
||||
function init() {
|
||||
diagnosisInit().then((res) => {
|
||||
if (res.code == 200) {
|
||||
diagnosisOptions.value = res.data.verificationStatusOptions;
|
||||
}
|
||||
});
|
||||
}
|
||||
const rules = ref({
|
||||
name: [{ required: true, message: '请选择诊断', trigger: 'change' }],
|
||||
medTypeCode: [{ required: true, message: '请选择诊断类型', trigger: 'change' }],
|
||||
diagSrtNo: [{ required: true, message: '请输入诊断序号', trigger: 'change' }],
|
||||
>>>>>>> v1.3
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
@@ -573,7 +876,9 @@ label {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
input, select, textarea {
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
width: 100%;
|
||||
padding: 8px;
|
||||
border: 1px solid #ccc;
|
||||
@@ -594,7 +899,8 @@ textarea {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.print-btn, .reset-btn {
|
||||
.print-btn,
|
||||
.reset-btn {
|
||||
padding: 10px 20px;
|
||||
margin: 0 10px;
|
||||
border: none;
|
||||
@@ -604,7 +910,7 @@ textarea {
|
||||
}
|
||||
|
||||
.print-btn {
|
||||
background-color: #4CAF50;
|
||||
background-color: #4caf50;
|
||||
color: white;
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -1,16 +1,33 @@
|
||||
<template>
|
||||
<div style="width: 100%" class="medicalSec">
|
||||
<<<<<<< HEAD
|
||||
<div style="margin-bottom: 5px;margin-top: 20px;">
|
||||
<el-button type="primary" @click="addItem" :disabled="false">
|
||||
新增
|
||||
</el-button>
|
||||
=======
|
||||
<div style="margin-bottom: 5px; margin-top: 20px">
|
||||
<el-button type="primary" @click="addItem" :disabled="false"> 新增 </el-button>
|
||||
>>>>>>> v1.3
|
||||
<el-button type="danger" plain @click="handleDelete" :disabled="false"> 删除 </el-button>
|
||||
</div>
|
||||
<div class="tableBox">
|
||||
<div class="tableBoxInner">
|
||||
<<<<<<< HEAD
|
||||
<div :class="{'borderBottom':!tableData_top.length}" class="tableBoxItemHeader">
|
||||
<div class="item itemIndex">
|
||||
<div :class="{'itemCheckBox':!isChooseAll,'itemCheckBoxAct':isChooseAll}" @click="chooseAll">
|
||||
=======
|
||||
<div
|
||||
:class="{ borderBottom: !formData.medicalSecond.surgery_tableData.length }"
|
||||
class="tableBoxItemHeader"
|
||||
>
|
||||
<div class="item itemIndex">
|
||||
<div
|
||||
:class="{ itemCheckBox: !isChooseAll, itemCheckBoxAct: isChooseAll }"
|
||||
@click="chooseAll"
|
||||
>
|
||||
>>>>>>> v1.3
|
||||
<span v-show="isChooseAll">✓</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -18,11 +35,21 @@
|
||||
<div class="item itemSurgeryLevel">手术级别</div>
|
||||
<div class="item itemSurgeryName">手术及操作名称</div>
|
||||
<div class="itemSpec">
|
||||
<<<<<<< HEAD
|
||||
<div class="spec" style="width: 100%;border-bottom: 1px solid #ebeef5;">手术及操作医师</div>
|
||||
<div class="spec">
|
||||
<div class="specItem">术者</div>
|
||||
<div class="specItem" style="border-left: 1px solid #ebeef5;">Ⅰ助</div>
|
||||
<div class="specItem" style="border-left: 1px solid #ebeef5;">Ⅱ助</div>
|
||||
=======
|
||||
<div class="spec" style="width: 100%; border-bottom: 1px solid #ebeef5">
|
||||
手术及操作医师
|
||||
</div>
|
||||
<div class="spec">
|
||||
<div class="specItem">术者</div>
|
||||
<div class="specItem" style="border-left: 1px solid #ebeef5">Ⅰ助</div>
|
||||
<div class="specItem" style="border-left: 1px solid #ebeef5">Ⅱ助</div>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
<div class="item itemCutLevel">切口愈合等级</div>
|
||||
@@ -31,17 +58,31 @@
|
||||
<div class="item itemTime borderRight">手术时长(H)</div>
|
||||
</div>
|
||||
<div
|
||||
<<<<<<< HEAD
|
||||
class="tableBoxItem"
|
||||
:class="{'borderBottom':index+1===tableData_top.length}"
|
||||
v-for="(item,index) in tableData_top"
|
||||
:key="index">
|
||||
<div class="item itemIndex">
|
||||
<div :class="{'itemCheckBox':!item['isChoose'],'itemCheckBoxAct':item['isChoose']}" @click="checkItem(item)">
|
||||
=======
|
||||
class="tableBoxItem"
|
||||
:class="{ borderBottom: index + 1 === formData.medicalSecond.surgery_tableData.length }"
|
||||
v-for="(item, index) in formData.medicalSecond.surgery_tableData"
|
||||
:key="index"
|
||||
>
|
||||
<div class="item itemIndex">
|
||||
<div
|
||||
:class="{ itemCheckBox: !item['isChoose'], itemCheckBoxAct: item['isChoose'] }"
|
||||
@click="checkItem(item, false)"
|
||||
>
|
||||
>>>>>>> v1.3
|
||||
<span v-show="item['isChoose']">✓</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item itemDate">
|
||||
<el-date-picker
|
||||
<<<<<<< HEAD
|
||||
v-model="item.ctrlDate"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
@@ -56,10 +97,26 @@
|
||||
:key="item.value"
|
||||
:label="item.title"
|
||||
:value="item.value"
|
||||
=======
|
||||
v-model="item.oprn_oprt_date"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="手术操作日期"
|
||||
/>
|
||||
</div>
|
||||
<div class="item itemSurgeryLevel">
|
||||
<el-select v-model="item.oprn_lv_code" placeholder="请选择手术级别">
|
||||
<el-option
|
||||
v-for="item in surgeryLevelOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>>>>>>> v1.3
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="item itemSurgeryName">
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="item.surgeryName"></el-input>
|
||||
</div>
|
||||
<div class="itemSpec">
|
||||
@@ -72,41 +129,86 @@
|
||||
</div>
|
||||
<div class="specItem" style="padding: 10px;border-left: 1px solid #ebeef5;">
|
||||
<el-input v-model="item.surgeryMasterName_2"></el-input>
|
||||
=======
|
||||
<el-input v-model="item.oprn_oprt_name"></el-input>
|
||||
</div>
|
||||
<div class="itemSpec">
|
||||
<div class="spec_">
|
||||
<div class="specItem" style="padding: 10px">
|
||||
<el-input v-model="item.oper_name"></el-input>
|
||||
</div>
|
||||
<div class="specItem" style="padding: 10px; border-left: 1px solid #ebeef5">
|
||||
<el-input v-model="item.asit_1_name"></el-input>
|
||||
</div>
|
||||
<div class="specItem" style="padding: 10px; border-left: 1px solid #ebeef5">
|
||||
<el-input v-model="item.asit_name2"></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item itemCutLevel">
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="item.cutLevel">
|
||||
<el-option
|
||||
v-for="item in item['cutLevelArr']"
|
||||
:key="item.value"
|
||||
:label="item.title"
|
||||
:value="item.value"
|
||||
=======
|
||||
<el-select v-model="item.sinc_heal_lv_code">
|
||||
<el-option
|
||||
v-for="item in cutLevelOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>>>>>>> v1.3
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="item itemCutLevel">
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="item.anesthesiaType" placeholder="请选择手术级别">
|
||||
<el-option
|
||||
v-for="item in operationLevelList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
=======
|
||||
<el-select v-model="item.anst_mtd_code" placeholder="请选择麻醉方式">
|
||||
<el-option
|
||||
v-for="item in anesthesiaTypeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>>>>>>> v1.3
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="item itemCutLevel">
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="item.anesthesiaLevel" placeholder="请选择手术级别">
|
||||
<el-option
|
||||
v-for="item in item.anesthesiaLevelArr"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
=======
|
||||
<el-select v-model="item.anst_lv_code" placeholder="请选择麻醉分级">
|
||||
<el-option
|
||||
v-for="item in anesthesiaLevelOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>>>>>>> v1.3
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="item itemTime borderRight">
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="item.surgeryTime"></el-input>
|
||||
=======
|
||||
<el-input v-model="item.oprn_con_time"></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -114,6 +216,7 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>手术方式:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="formData['surgeryType']">
|
||||
<el-option v-for="(item,index) in formData['surgeryTypeArr']" :key="index" :value="item['value']" :label="item['title']"></el-option>
|
||||
</el-select>
|
||||
@@ -122,40 +225,96 @@
|
||||
<label>离院方式:</label>
|
||||
<el-select v-model="formData['leaveType']">
|
||||
<el-option v-for="(item,index) in formData['leaveTypeArr']" :key="index" :value="item['value']" :label="item['title']"></el-option>
|
||||
=======
|
||||
<el-select v-model="formData.medicalSecond.surgeryType">
|
||||
<el-option
|
||||
v-for="item in surgeryTypeOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>离院方式:</label>
|
||||
<el-select v-model="formData.medicalSecond.dscg_way">
|
||||
<el-option
|
||||
v-for="item in leaveTypeOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
>>>>>>> v1.3
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>是否有出院31天内再住院计划:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="formData['isPlan']">
|
||||
<el-option v-for="(item,index) in formData['isPlanArr']" :key="index" :value="item['value']" :label="item['title']"></el-option>
|
||||
=======
|
||||
<el-select v-model="formData.medicalSecond.dscg_31days_rinp_flag">
|
||||
<el-option
|
||||
v-for="item in isPlanOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
>>>>>>> v1.3
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>目的:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="formData['purpose']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.medicalSecond.dscg_31days_rinp_pup"
|
||||
placeholder="请填写目的"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>颅脑损伤患者昏迷时间-入院前:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input type="date" v-model="formData['comaDurationTime_before']" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>入院后:</label>
|
||||
<el-input type="date" v-model="formData['comaDurationTime_after']" />
|
||||
=======
|
||||
<el-input type="date" v-model="formData.medicalSecond.brn_damg_bfadm_coma_dura" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>入院后:</label>
|
||||
<el-input type="date" v-model="formData.medicalSecond.brn_damg_afadm_coma_dura" />
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>肿瘤分期:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="formData['tumorStaging']">
|
||||
<el-option v-for="(item,index) in formData['tumorStagingArr']" :key="index" :value="item['value']" :label="item['title']"></el-option>
|
||||
=======
|
||||
<el-select v-model="formData.medicalSecond.tumorStaging">
|
||||
<el-option
|
||||
v-for="item in tumorStagingOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
>>>>>>> v1.3
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item" style="flex: 0">
|
||||
<label>T:</label>
|
||||
<<<<<<< HEAD
|
||||
<label class="form-item-specLabel"><div class="specLabelInner" style="width: 80px;margin: 0 8px 0 0;"><el-input v-model="formData['tumor_T']"></el-input></div> </label>
|
||||
</div>
|
||||
<div class="form-item" style="flex: 0">
|
||||
@@ -165,25 +324,71 @@
|
||||
<div class="form-item" style="flex: 0">
|
||||
<label>M:</label>
|
||||
<label class="form-item-specLabel"><div class="specLabelInner" style="width: 80px;margin: 0 8px 0 0;"><el-input v-model="formData['tumor_M']"></el-input></div> </label>
|
||||
=======
|
||||
<label class="form-item-specLabel"
|
||||
><div class="specLabelInner" style="width: 80px; margin: 0 8px 0 0">
|
||||
<el-input v-model="formData.medicalSecond.tumor_T"></el-input>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-item" style="flex: 0">
|
||||
<label>N:</label>
|
||||
<label class="form-item-specLabel"
|
||||
><div class="specLabelInner" style="width: 80px; margin: 0 8px 0 0">
|
||||
<el-input v-model="formData.medicalSecond.tumor_N"></el-input>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-item" style="flex: 0">
|
||||
<label>M:</label>
|
||||
<label class="form-item-specLabel"
|
||||
><div class="specLabelInner" style="width: 80px; margin: 0 8px 0 0">
|
||||
<el-input v-model="formData.medicalSecond.tumor_M"></el-input>
|
||||
</div>
|
||||
</label>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>判断依据:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="formData['judgmentBase']">
|
||||
<el-option v-for="(item,index) in formData['judgmentBaseArr']" :key="index" :value="item['value']" :label="item['title']"></el-option>
|
||||
=======
|
||||
<el-select v-model="formData.medicalSecond.judgmentBase">
|
||||
<el-option
|
||||
v-for="item in judgmentBaseOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
>>>>>>> v1.3
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>分化程度:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input type="date" v-model="formData['degreeDifferentiation']" />
|
||||
=======
|
||||
<!-- <el-input type="date" v-model="formData.medicalSecond.bkup_deg" /> -->
|
||||
<el-select v-model="formData.medicalSecond.bkup_deg_code" placeholder="请选择分化程度">
|
||||
<el-option
|
||||
v-for="item in bkup_deg_codeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>临床路径-进入路径:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="formData['enterPath']">
|
||||
<el-option v-for="(item,index) in formData['enterPathArr']" :key="index" :value="item['value']" :label="item['title']"></el-option>
|
||||
</el-select>
|
||||
@@ -192,18 +397,53 @@
|
||||
<label>变异:</label>
|
||||
<el-select v-model="formData['mutation']">
|
||||
<el-option v-for="(item,index) in formData['mutationArr']" :key="index" :value="item['value']" :label="item['title']"></el-option>
|
||||
=======
|
||||
<!-- <el-select v-model="formData.medicalSecond.enterPath">
|
||||
<el-option
|
||||
v-for="item in enterPathOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select> -->
|
||||
<el-input v-model="formData.medicalSecond.enterPath" placeholder="请输入"></el-input>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>变异:</label>
|
||||
<el-select v-model="formData.medicalSecond.mutation">
|
||||
<el-option
|
||||
v-for="item in mutationOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
>>>>>>> v1.3
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>退出路径:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="formData['outPath']">
|
||||
<el-option v-for="(item,index) in formData['outPathArr']" :key="index" :value="item['value']" :label="item['title']"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
</div>
|
||||
=======
|
||||
<!-- <el-select v-model="formData.medicalSecond.outPath">
|
||||
<el-option
|
||||
v-for="item in outPathOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select> -->
|
||||
<el-input v-model="formData.medicalSecond.outPath" placeholder="请输入"></el-input>
|
||||
</div>
|
||||
<div class="form-item"></div>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
<div class="form-row" styLe="margin: 0;">
|
||||
<div class="form-item" styLe="margin: 0;">
|
||||
@@ -212,6 +452,7 @@
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item" style="flex: 0">
|
||||
<<<<<<< HEAD
|
||||
<label class="form-item-specLabel">特级护理 <div class="specLabelInner"><el-input v-model="formData['nursingLevel_spec']"></el-input></div> 小时</label>
|
||||
</div>
|
||||
<div class="form-item" style="flex: 0">
|
||||
@@ -223,24 +464,78 @@
|
||||
</div>
|
||||
<div class="form-item" style="flex: 0">
|
||||
<label class="form-item-specLabel">3级护理 <div class="specLabelInner"><el-input v-model="formData['nursingLevel_3']"></el-input></div> 小时</label>
|
||||
=======
|
||||
<label class="form-item-specLabel"
|
||||
>特级护理
|
||||
<div class="specLabelInner">
|
||||
<el-input v-model="formData.medicalSecond.nursingLevel_spec"></el-input>
|
||||
</div>
|
||||
小时</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-item" style="flex: 0">
|
||||
<label class="form-item-specLabel"
|
||||
>1级护理
|
||||
<div class="specLabelInner">
|
||||
<el-input v-model="formData.medicalSecond.nursingLevel_1"></el-input>
|
||||
</div>
|
||||
小时</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-item" style="flex: 0">
|
||||
<label class="form-item-specLabel"
|
||||
>2级护理
|
||||
<div class="specLabelInner">
|
||||
<el-input v-model="formData.medicalSecond.nursingLevel_2"></el-input>
|
||||
</div>
|
||||
小时</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-item" style="flex: 0">
|
||||
<label class="form-item-specLabel"
|
||||
>3级护理
|
||||
<div class="specLabelInner">
|
||||
<el-input v-model="formData.medicalSecond.nursingLevel_3"></el-input>
|
||||
</div>
|
||||
小时</label
|
||||
>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item">
|
||||
<label>呼吸机使用:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="formData['ventilatorUse']">
|
||||
<el-option v-for="(item,index) in formData['ventilatorUseArr']" :key="index" :value="item['value']" :label="item['title']"></el-option>
|
||||
=======
|
||||
<el-select v-model="formData.medicalSecond.use_vent_flag">
|
||||
<el-option
|
||||
v-for="item in ventilatorUseOptions"
|
||||
:key="item.id"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
>>>>>>> v1.3
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label>有创呼吸机使用时间(小时):</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="formData['ventilatorUseTime']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.medicalSecond.vent_used_dura"
|
||||
placeholder="请填写有创呼吸机使用时间(小时)"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
<<<<<<< HEAD
|
||||
import {nextTick, reactive, ref, watch} from 'vue';
|
||||
import { ElMessage } from 'element-plus'
|
||||
|
||||
@@ -424,11 +719,89 @@ const operationLevelList = [
|
||||
{ name: '二级', id: 2 },
|
||||
{ name: '三级', id: 3 },
|
||||
];
|
||||
=======
|
||||
import { reactive, ref, watch } from 'vue';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import { cloneDeep, forEach } from 'lodash';
|
||||
import formDataJs from '../../doctorstation/components/store/medicalpage';
|
||||
let chooseData = reactive([]); //表格中选中的数据 TODO
|
||||
let surgery_tableData = reactive([]);
|
||||
const tableData_sub = ref([{}, {}]);
|
||||
let isChooseAll = ref(false);
|
||||
const formData = reactive(formDataJs);
|
||||
const { proxy } = getCurrentInstance();
|
||||
const {
|
||||
dscg_way,
|
||||
days_rinp_flag_31,
|
||||
use_vent,
|
||||
oprn_oprt_lv_code,
|
||||
sinc_heal_lv_code,
|
||||
anst_mtd_code,
|
||||
anst_lv_code,
|
||||
sys_tumor_staging,
|
||||
sys_according_to,
|
||||
sys_entry_path,
|
||||
sys_yes_no,
|
||||
sys_exit_path,
|
||||
oprn_patn_type_code,
|
||||
bkup_deg_code,
|
||||
} = proxy.useDict(
|
||||
'dscg_way',
|
||||
'days_rinp_flag_31',
|
||||
'use_vent',
|
||||
'oprn_oprt_lv_code',
|
||||
'sinc_heal_lv_code',
|
||||
'anst_mtd_code',
|
||||
'anst_lv_code',
|
||||
'sys_tumor_staging',
|
||||
'sys_according_to',
|
||||
'sys_entry_path',
|
||||
'sys_yes_no',
|
||||
'sys_exit_path',
|
||||
'oprn_patn_type_code',
|
||||
'bkup_deg_code'
|
||||
);
|
||||
>>>>>>> v1.3
|
||||
|
||||
// 手术类型
|
||||
const surgeryTypeOptions = oprn_patn_type_code;
|
||||
// 离院方式
|
||||
const leaveTypeOptions = dscg_way;
|
||||
// 计划出院
|
||||
const isPlanOptions = days_rinp_flag_31;
|
||||
// 肿瘤分期
|
||||
const tumorStagingOptions = sys_tumor_staging;
|
||||
// 判断依据
|
||||
const judgmentBaseOptions = sys_according_to;
|
||||
// 临床路径
|
||||
const enterPathOptions = sys_entry_path;
|
||||
// 变异
|
||||
const mutationOptions = sys_yes_no;
|
||||
// 退出路径
|
||||
const outPathOptions = sys_exit_path;
|
||||
// 呼吸机使用
|
||||
const ventilatorUseOptions = use_vent;
|
||||
// 手术级别
|
||||
const surgeryLevelOptions = oprn_oprt_lv_code;
|
||||
// 切口愈合等级
|
||||
const cutLevelOptions = sinc_heal_lv_code;
|
||||
// 麻醉方式
|
||||
const anesthesiaTypeOptions = anst_mtd_code;
|
||||
// 麻醉分级
|
||||
const anesthesiaLevelOptions = anst_lv_code;
|
||||
// 分化程度
|
||||
const bkup_deg_codeOptions = bkup_deg_code;
|
||||
watch(
|
||||
() => formData.medicalSecond.surgery_tableData,
|
||||
(newValue) => {
|
||||
checkItem({}, false);
|
||||
}
|
||||
);
|
||||
// 新增
|
||||
const addItem = () => {
|
||||
let data = {
|
||||
//手术操作日期 oprn_oprt_date
|
||||
<<<<<<< HEAD
|
||||
oprn_date: '',
|
||||
|
||||
//手术级别 手术级别名称--oprn_lv_code
|
||||
@@ -619,19 +992,106 @@ const msgSuccess = (msg) => {
|
||||
type: 'success',
|
||||
})
|
||||
}
|
||||
=======
|
||||
oprn_oprt_date: '',
|
||||
// 手术级别
|
||||
oprn_lv_code: '',
|
||||
// 手术操作名称
|
||||
oprn_oprt_name: '',
|
||||
// 术者
|
||||
oper_name: '',
|
||||
// Ⅰ助
|
||||
asit_1_name: '',
|
||||
// Ⅱ助
|
||||
asit_name2: '',
|
||||
// 切口愈合等级
|
||||
sinc_heal_lv_code: '',
|
||||
// 麻醉方式
|
||||
anst_mtd_code: '',
|
||||
// 麻醉分级
|
||||
anst_lv_code: '',
|
||||
// 手术时常
|
||||
oprn_con_time: '',
|
||||
// 是否选中
|
||||
isChoose: false,
|
||||
};
|
||||
//push
|
||||
formData.medicalSecond.surgery_tableData.unshift(data);
|
||||
checkItem({}, true);
|
||||
};
|
||||
const checkItem = (e, isAdd) => {
|
||||
if (!isAdd) {
|
||||
e['isChoose'] = !e['isChoose'];
|
||||
}
|
||||
let isSeletAll = false;
|
||||
for (let index = 0; index < formData.medicalSecond.surgery_tableData.length; index++) {
|
||||
const obj = formData.medicalSecond.surgery_tableData[index];
|
||||
if (!obj.isChoose) {
|
||||
isSeletAll = false;
|
||||
break;
|
||||
}
|
||||
isSeletAll = true;
|
||||
}
|
||||
if (isSeletAll) {
|
||||
isChooseAll.value = true;
|
||||
} else {
|
||||
isChooseAll.value = false;
|
||||
}
|
||||
};
|
||||
|
||||
const chooseAll = () => {
|
||||
isChooseAll.value = !isChooseAll.value;
|
||||
if (isChooseAll.value) {
|
||||
formData.medicalSecond.surgery_tableData.forEach((item) => {
|
||||
item.isChoose = true;
|
||||
});
|
||||
} else {
|
||||
formData.medicalSecond.surgery_tableData.forEach((item) => {
|
||||
item.isChoose = false;
|
||||
});
|
||||
}
|
||||
};
|
||||
//删除方法
|
||||
const handleDelete = () => {
|
||||
if (!formData.medicalSecond.surgery_tableData.length) return;
|
||||
const newtableData_top = formData.medicalSecond.surgery_tableData.filter((item) => {
|
||||
return !item.isChoose;
|
||||
});
|
||||
formData.medicalSecond.surgery_tableData.length = 0;
|
||||
newtableData_top.forEach((item) => {
|
||||
formData.medicalSecond.surgery_tableData.push(item);
|
||||
});
|
||||
isChooseAll.value = false;
|
||||
msgSuccess('删除成功');
|
||||
};
|
||||
>>>>>>> v1.3
|
||||
|
||||
const msgSuccess = (msg) => {
|
||||
ElMessage({
|
||||
message: msg,
|
||||
type: 'success',
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.medicalSec {
|
||||
<<<<<<< HEAD
|
||||
.el-date-editor.el-input, .el-date-editor.el-input__wrapper {
|
||||
=======
|
||||
.el-date-editor.el-input,
|
||||
.el-date-editor.el-input__wrapper {
|
||||
>>>>>>> v1.3
|
||||
width: 100%;
|
||||
}
|
||||
.el-table td.el-table__cell div {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
>>>>>>> v1.3
|
||||
</style>
|
||||
<style lang="scss" scoped>
|
||||
:deep(.el-table__expand-icon) {
|
||||
@@ -938,4 +1398,4 @@ label {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -1,15 +1,33 @@
|
||||
<template>
|
||||
<div style="width: 100%" class="medicalSec">
|
||||
<<<<<<< HEAD
|
||||
<div class="thirdItem" style="margin-top: 20px;">
|
||||
=======
|
||||
<div class="thirdItem" style="margin-top: 20px">
|
||||
>>>>>>> v1.3
|
||||
<div class="thirdItemTitle">住院费用</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>总费用:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['hosCharges']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>自付金额:</label>
|
||||
<el-input v-model="thirdFormData['hosCharges_self']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.hospitalization.medfee_sumamt"
|
||||
placeholder="请填写总费用"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>自付金额:</label>
|
||||
<el-input
|
||||
v-model="formData.hospitalization.selfpay_amt"
|
||||
placeholder="请填写自付金额"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -18,21 +36,49 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(1)一般医疗服务费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['medicalServices_1']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(2)一般治疗操作费:</label>
|
||||
<el-input v-model="thirdFormData['medicalServices_2']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.medicalServices.ordn_med_servfee"
|
||||
placeholder="请填写一般医疗服务费"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(2)一般治疗操作费:</label>
|
||||
<el-input
|
||||
v-model="formData.medicalServices.ordn_trt_oprt_fee"
|
||||
placeholder="请填写一般治疗操作费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(3)护理费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['medicalServices_3']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(4)其他费用:</label>
|
||||
<el-input v-model="thirdFormData['medicalServices_4']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.medicalServices.nurs_fee"
|
||||
placeholder="请填写护理费"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(4)其他费用:</label>
|
||||
<el-input
|
||||
v-model="formData.medicalServices.com_med_serv_oth_fee"
|
||||
placeholder="请填写其他费用"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -41,21 +87,49 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(5)病理诊断费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['diagnosis_5']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(6)实验室诊断费:</label>
|
||||
<el-input v-model="thirdFormData['diagnosis_6']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.diagnosisClass.palg_diag_fee"
|
||||
placeholder="请填写病理诊断费"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(6)实验室诊断费:</label>
|
||||
<el-input
|
||||
v-model="formData.diagnosisClass.lab_diag_fee"
|
||||
placeholder="请填写实验室诊断费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(7)影像学诊断费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['diagnosis_7']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(8)临床诊断项目费:</label>
|
||||
<el-input v-model="thirdFormData['diagnosis_8']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.diagnosisClass.rdhy_diag_fee"
|
||||
placeholder="请填写影像学诊断费"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(8)临床诊断项目费:</label>
|
||||
<el-input
|
||||
v-model="formData.diagnosisClass.clnc_dise_fee"
|
||||
placeholder="请填写临床诊断项目费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -64,17 +138,38 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(9)非手术治疗项目费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['treatment_9']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(临床物理治疗费):</label>
|
||||
<el-input v-model="thirdFormData['treatment_9_1']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.treatmentClass.nsrgtrt_item_fee"
|
||||
placeholder="请填写非手术治疗项目费"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(临床物理治疗费):</label>
|
||||
<el-input
|
||||
v-model="formData.treatmentClass.clnc_phys_trt_fee"
|
||||
placeholder="请填写临床物理治疗费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(10)手术治疗费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['treatment_10']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.treatmentClass.rgtrt_trt_fee"
|
||||
placeholder="请填写手术治疗费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label></label>
|
||||
@@ -83,11 +178,25 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(麻醉费):</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['treatment_10_1']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(手术费):</label>
|
||||
<el-input v-model="thirdFormData['treatment_10_2']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.treatmentClass.anst_fee"
|
||||
placeholder="请填写麻醉费"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(手术费):</label>
|
||||
<el-input
|
||||
v-model="formData.treatmentClass.rgtrt_fee"
|
||||
placeholder="请填写手术费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -96,7 +205,11 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(11)康复费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['recovery_11']"></el-input>
|
||||
=======
|
||||
<el-input v-model="formData.recoveryClass.rhab_fee" placeholder="请填写康复费"></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label></label>
|
||||
@@ -108,7 +221,14 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(12)中医治疗费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['TCM_12']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.TCMClass.tcm_trt_fee"
|
||||
placeholder="请填写中医治疗费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label></label>
|
||||
@@ -120,11 +240,22 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(13)西药费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['Western_13']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(抗菌药物费用)</label>
|
||||
<el-input v-model="thirdFormData['Western_13_1']"></el-input>
|
||||
=======
|
||||
<el-input v-model="formData.WesternClass.wm_fee" placeholder="请填写西药费"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(抗菌药物费用)</label>
|
||||
<el-input
|
||||
v-model="formData.WesternClass.abtl_medn_fee"
|
||||
placeholder="请填写抗菌药物费用"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -133,11 +264,25 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(14)中成药费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['chinese_14']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(15)中草药费:</label>
|
||||
<el-input v-model="thirdFormData['chinese_15']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.chineseClass.tcmpat_fee"
|
||||
placeholder="请填写中成药费"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(15)中草药费:</label>
|
||||
<el-input
|
||||
v-model="formData.chineseClass.tcmherb_fee"
|
||||
placeholder="请填写中草药费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -146,27 +291,59 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(16)血费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['blood_16']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(17)白蛋白类制品费:</label>
|
||||
<el-input v-model="thirdFormData['blood_17']"></el-input>
|
||||
=======
|
||||
<el-input v-model="formData.bloodClass.blo_fee" placeholder="请填写血费"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(17)白蛋白类制品费:</label>
|
||||
<el-input
|
||||
v-model="formData.bloodClass.albu_fee"
|
||||
placeholder="请填写白蛋白类制品费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(18)球蛋白类制品费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['blood_18']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(19)凝血因子类制品费:</label>
|
||||
<el-input v-model="thirdFormData['blood_19']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.bloodClass.glon_fee"
|
||||
placeholder="请填写球蛋白类制品费"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(19)凝血因子类制品费:</label>
|
||||
<el-input
|
||||
v-model="formData.bloodClass.clotfac_fee"
|
||||
placeholder="请填写凝血因子类制品费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(20)细胞因子类制品费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['blood_20']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.bloodClass.cyki_fee"
|
||||
placeholder="请填写细胞因子类制品费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label></label>
|
||||
@@ -178,17 +355,38 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(21)检查用一次性医用材料费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['consumables_21']"></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(22)治疗用一次性医用材料费:</label>
|
||||
<el-input v-model="thirdFormData['consumables_22']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.consumablesClass.exam_dspo_matl_fee"
|
||||
placeholder="请填写检查用一次性医用材料费"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label>(22)治疗用一次性医用材料费:</label>
|
||||
<el-input
|
||||
v-model="formData.consumablesClass.trt_dspo_matl_fee"
|
||||
placeholder="请填写治疗用一次性医用材料费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(23)手术用一次性医用材料费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['consumables_23']"></el-input>
|
||||
=======
|
||||
<el-input
|
||||
v-model="formData.consumablesClass.oprn_dspo_matl_fee"
|
||||
placeholder="请填写手术用一次性医用材料费"
|
||||
></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
<div class="form-item subTitle">
|
||||
<label></label>
|
||||
@@ -200,7 +398,11 @@
|
||||
<div class="form-row">
|
||||
<div class="form-item subTitle">
|
||||
<label>(24)其他费:</label>
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="thirdFormData['other_24']"></el-input>
|
||||
=======
|
||||
<el-input v-model="formData.otherClass.oth_fee" placeholder="请填写其他费"></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label></label>
|
||||
@@ -209,6 +411,7 @@
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 5px">
|
||||
<<<<<<< HEAD
|
||||
<el-button type="primary" @click="addSubItem" :disabled="false">
|
||||
新增
|
||||
</el-button>
|
||||
@@ -221,12 +424,29 @@
|
||||
<div class="subTableItem1" :class="{'borderBottom':!tableData_sub.length}">
|
||||
<div class="subItemCheckbox">
|
||||
<div class="" :class="{'subItemCheckboxAct':isChooseAllSub,'subChooseAll':!isChooseAllSub}" @click="chooseAll(2)"><span v-show="isChooseAllSub">✓</span></div>
|
||||
=======
|
||||
<el-button type="primary" @click="addSubItem" :disabled="false"> 新增 </el-button>
|
||||
<el-button type="danger" plain @click="handleSubDelete" :disabled="false"> 删除 </el-button>
|
||||
</div>
|
||||
<div class="subTable">
|
||||
<div class="subTableHeader">其他诊断及手术附加页</div>
|
||||
<div class="subTableItem1" :class="{ borderBottom: !formData.other_tableData.length }">
|
||||
<div class="subItemCheckbox">
|
||||
<div
|
||||
class=""
|
||||
:class="{ subItemCheckboxAct: isChooseAllSub, subChooseAll: !isChooseAllSub }"
|
||||
@click="chooseAll(2)"
|
||||
>
|
||||
<span v-show="isChooseAllSub">✓</span>
|
||||
</div>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
<div class="subItem1">出院诊断</div>
|
||||
<div class="subItem2">疾病编码</div>
|
||||
<div class="subItem2">入院病情</div>
|
||||
<div class="subItem2">转归情况</div>
|
||||
</div>
|
||||
<<<<<<< HEAD
|
||||
<div class="subTableItem"
|
||||
:class="{'borderBottom':index+1===tableData_sub.length}"
|
||||
v-for="(item,index) in tableData_sub" :key="index">
|
||||
@@ -244,21 +464,64 @@
|
||||
</div>
|
||||
<div class="subItem2">
|
||||
<el-input v-model="item.back"></el-input>
|
||||
=======
|
||||
<div
|
||||
class="subTableItem"
|
||||
:class="{ borderBottom: index + 1 === formData.other_tableData.length }"
|
||||
v-for="(item, index) in formData.other_tableData"
|
||||
:key="index"
|
||||
>
|
||||
<div class="subItemCheckbox" @click="checkItem(item, 2, false)">
|
||||
<div
|
||||
class=""
|
||||
:class="{ subItemCheckboxAct: item['isChoose'], subChooseAll: !item['isChoose'] }"
|
||||
>
|
||||
<span v-show="item['isChoose']">✓</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="subItem1">
|
||||
<el-input v-model="item.dscg_dise_dscr" placeholder="请填写出院诊断"></el-input>
|
||||
</div>
|
||||
<div class="subItem2">
|
||||
<el-input v-model="item.code" placeholder="请填写疾病编码"></el-input>
|
||||
</div>
|
||||
<div class="subItem2">
|
||||
<el-input v-model="item.adm_cond" placeholder="请填写入院病情"></el-input>
|
||||
</div>
|
||||
<div class="subItem2">
|
||||
<el-input v-model="item.back" placeholder="请填写转归情况"></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 5px">
|
||||
<<<<<<< HEAD
|
||||
<el-button type="primary" @click="addItem" :disabled="false">
|
||||
新增
|
||||
</el-button>
|
||||
=======
|
||||
<el-button type="primary" @click="addItem" :disabled="false"> 新增 </el-button>
|
||||
>>>>>>> v1.3
|
||||
<el-button type="danger" plain @click="handleDelete" :disabled="false"> 删除 </el-button>
|
||||
</div>
|
||||
<div class="tableBox">
|
||||
<div class="tableBoxInner">
|
||||
<<<<<<< HEAD
|
||||
<div :class="{'borderBottom':!tableData_top.length}" class="tableBoxItemHeader">
|
||||
<div class="item itemIndex">
|
||||
<div :class="{'itemCheckBox':!isChooseAll,'itemCheckBoxAct':isChooseAll}" @click="chooseAll(1)">
|
||||
=======
|
||||
<div
|
||||
:class="{ borderBottom: !formData.surgery_tableData.length }"
|
||||
class="tableBoxItemHeader"
|
||||
>
|
||||
<div class="item itemIndex">
|
||||
<div
|
||||
:class="{ itemCheckBox: !isChooseAll, itemCheckBoxAct: isChooseAll }"
|
||||
@click="chooseAll(1)"
|
||||
>
|
||||
>>>>>>> v1.3
|
||||
<span v-show="isChooseAll">✓</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -266,11 +529,21 @@
|
||||
<div class="item itemSurgeryLevel">手术级别</div>
|
||||
<div class="item itemSurgeryName">手术及操作名称</div>
|
||||
<div class="itemSpec">
|
||||
<<<<<<< HEAD
|
||||
<div class="spec" style="width: 100%;border-bottom: 1px solid #ebeef5;">手术及操作医师</div>
|
||||
<div class="spec">
|
||||
<div class="specItem">术者</div>
|
||||
<div class="specItem" style="border-left: 1px solid #ebeef5;">Ⅰ助</div>
|
||||
<div class="specItem" style="border-left: 1px solid #ebeef5;">Ⅱ助</div>
|
||||
=======
|
||||
<div class="spec" style="width: 100%; border-bottom: 1px solid #ebeef5">
|
||||
手术及操作医师
|
||||
</div>
|
||||
<div class="spec">
|
||||
<div class="specItem">术者</div>
|
||||
<div class="specItem" style="border-left: 1px solid #ebeef5">Ⅰ助</div>
|
||||
<div class="specItem" style="border-left: 1px solid #ebeef5">Ⅱ助</div>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
<div class="item itemCutLevel">切口愈合等级</div>
|
||||
@@ -279,17 +552,31 @@
|
||||
<div class="item itemTime borderRight">手术时长(H)</div>
|
||||
</div>
|
||||
<div
|
||||
<<<<<<< HEAD
|
||||
class="tableBoxItem"
|
||||
:class="{'borderBottom':index+1===tableData_top.length}"
|
||||
v-for="(item,index) in tableData_top"
|
||||
:key="index">
|
||||
<div class="item itemIndex">
|
||||
<div :class="{'itemCheckBox':!item['isChoose'],'itemCheckBoxAct':item['isChoose']}" @click="checkItem(item,1)">
|
||||
=======
|
||||
class="tableBoxItem"
|
||||
:class="{ borderBottom: index + 1 === formData.surgery_tableData.length }"
|
||||
v-for="(item, index) in formData.surgery_tableData"
|
||||
:key="index"
|
||||
>
|
||||
<div class="item itemIndex">
|
||||
<div
|
||||
:class="{ itemCheckBox: !item['isChoose'], itemCheckBoxAct: item['isChoose'] }"
|
||||
@click="checkItem(item, 1, false)"
|
||||
>
|
||||
>>>>>>> v1.3
|
||||
<span v-show="item['isChoose']">✓</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item itemDate">
|
||||
<el-date-picker
|
||||
<<<<<<< HEAD
|
||||
v-model="item.ctrlDate"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
@@ -304,10 +591,27 @@
|
||||
:key="item.value"
|
||||
:label="item.title"
|
||||
:value="item.value"
|
||||
=======
|
||||
v-model="item.oprn_oprt_date"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="手术操作日期"
|
||||
:default-time="item.oprn_date"
|
||||
/>
|
||||
</div>
|
||||
<div class="item itemSurgeryLevel">
|
||||
<el-select v-model="item.oprn_lv_code" placeholder="请选择手术级别">
|
||||
<el-option
|
||||
v-for="item in surgeryLevelOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>>>>>>> v1.3
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="item itemSurgeryName">
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="item.surgeryName"></el-input>
|
||||
</div>
|
||||
<div class="itemSpec">
|
||||
@@ -320,41 +624,86 @@
|
||||
</div>
|
||||
<div class="specItem" style="padding: 10px;border-left: 1px solid #ebeef5;">
|
||||
<el-input v-model="item.surgeryMasterName_2"></el-input>
|
||||
=======
|
||||
<el-input v-model="item.oprn_oprt_name" placeholder="请填写手术及操作名称"></el-input>
|
||||
</div>
|
||||
<div class="itemSpec">
|
||||
<div class="spec_">
|
||||
<div class="specItem" style="padding: 10px">
|
||||
<el-input v-model="item.oper_name"></el-input>
|
||||
</div>
|
||||
<div class="specItem" style="padding: 10px; border-left: 1px solid #ebeef5">
|
||||
<el-input v-model="item.asit_1_name"></el-input>
|
||||
</div>
|
||||
<div class="specItem" style="padding: 10px; border-left: 1px solid #ebeef5">
|
||||
<el-input v-model="item.asit_name2"></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item itemCutLevel">
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="item.cutLevel">
|
||||
<el-option
|
||||
v-for="item in item['cutLevelArr']"
|
||||
:key="item.value"
|
||||
:label="item.title"
|
||||
:value="item.value"
|
||||
=======
|
||||
<el-select v-model="item.sinc_heal_lv_code">
|
||||
<el-option
|
||||
v-for="item in cutLevelOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>>>>>>> v1.3
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="item itemCutLevel">
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="item.anesthesiaType" placeholder="请选择手术级别">
|
||||
<el-option
|
||||
v-for="item in operationLevelList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
=======
|
||||
<el-select v-model="item.anst_mtd_code" placeholder="请选择麻醉方式">
|
||||
<el-option
|
||||
v-for="item in anesthesiaTypeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>>>>>>> v1.3
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="item itemCutLevel">
|
||||
<<<<<<< HEAD
|
||||
<el-select v-model="item.anesthesiaLevel" placeholder="请选择手术级别">
|
||||
<el-option
|
||||
v-for="item in item.anesthesiaLevelArr"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
=======
|
||||
<el-select v-model="item.anst_lv_code" placeholder="请选择麻醉分级">
|
||||
<el-option
|
||||
v-for="item in anesthesiaLevelOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>>>>>>> v1.3
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="item itemTime borderRight">
|
||||
<<<<<<< HEAD
|
||||
<el-input v-model="item.surgeryTime"></el-input>
|
||||
=======
|
||||
<el-input v-model="item.oprn_con_time" placeholder="请填写手术时常"></el-input>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -362,6 +711,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<<<<<<< HEAD
|
||||
<script setup lang="ts">
|
||||
import {nextTick, reactive, ref, watch} from 'vue';
|
||||
import { ElMessage } from 'element-plus'
|
||||
@@ -866,13 +1216,196 @@ const chooseAll = (type) => {
|
||||
|
||||
|
||||
}
|
||||
=======
|
||||
<script setup>
|
||||
import { reactive, ref, watch, watchEffect } from 'vue';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import { cloneDeep } from 'lodash';
|
||||
import formDataJs from '../../doctorstation/components/store/medicalpage';
|
||||
const props = defineProps(['formData']);
|
||||
const formData = reactive(formDataJs);
|
||||
|
||||
let isChooseAll = ref(false);
|
||||
let isChooseAllSub = ref(false);
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { oprn_oprt_lv_code, sinc_heal_lv_code, anst_mtd_code, anst_lv_code } = proxy.useDict(
|
||||
'oprn_oprt_lv_code',
|
||||
'sinc_heal_lv_code',
|
||||
'anst_mtd_code',
|
||||
'anst_lv_code'
|
||||
);
|
||||
|
||||
// 手术级别
|
||||
const surgeryLevelOptions = oprn_oprt_lv_code;
|
||||
// 切口愈合
|
||||
const cutLevelOptions = sinc_heal_lv_code;
|
||||
// 麻醉方式
|
||||
const anesthesiaTypeOptions = anst_mtd_code;
|
||||
// 麻醉分级
|
||||
const anesthesiaLevelOptions = anst_lv_code;
|
||||
|
||||
watch([() => formData.other_tableData, () => formData.surgery_tableData], () => {
|
||||
checkItem({}, 1);
|
||||
checkItem({}, 2);
|
||||
});
|
||||
|
||||
//最下table--新增
|
||||
const addItem = () => {
|
||||
let data = {
|
||||
// 是否选中
|
||||
isChoose: false,
|
||||
// 手术操作日期
|
||||
oprn_oprt_date: '',
|
||||
// 手术级别
|
||||
oprn_lv_code: '',
|
||||
// 手术操作名称
|
||||
oprn_oprt_name: '',
|
||||
// 术者
|
||||
oper_name: '',
|
||||
// I助
|
||||
asit_1_name: '',
|
||||
// II助
|
||||
asit_name2: '',
|
||||
// 切口愈合等级
|
||||
sinc_heal_lv_code: '',
|
||||
// 麻醉方式
|
||||
anst_mtd_code: '',
|
||||
// 麻醉等级
|
||||
anst_lv_code: '',
|
||||
// 手术时常
|
||||
oprn_con_time: '',
|
||||
};
|
||||
//push
|
||||
formData.surgery_tableData.unshift(data);
|
||||
checkItem({}, 1, true);
|
||||
};
|
||||
//最下table--删除
|
||||
const handleDelete = () => {
|
||||
if (!formData.surgery_tableData.length) return;
|
||||
const newtableData_sub = formData.surgery_tableData.filter((item) => {
|
||||
return !item.isChoose;
|
||||
});
|
||||
formData.surgery_tableData.length = 0;
|
||||
newtableData_sub.forEach((item) => {
|
||||
formData.surgery_tableData.push(item);
|
||||
});
|
||||
isChooseAll.value = false;
|
||||
msgSuccess('删除成功');
|
||||
};
|
||||
|
||||
//其他诊断及手术附加页 添加方法
|
||||
const addSubItem = () => {
|
||||
let item = {
|
||||
isChoose: false,
|
||||
// 出院诊断
|
||||
dscg_dise_dscr: '',
|
||||
// 疾病编码
|
||||
code: '',
|
||||
// 入院病情
|
||||
adm_cond: '',
|
||||
// 转归情况
|
||||
back: '',
|
||||
};
|
||||
formData.other_tableData.unshift(item);
|
||||
checkItem({}, 2, true);
|
||||
};
|
||||
//其他诊断及手术附加页 删除方法
|
||||
const handleSubDelete = () => {
|
||||
if (!formData.other_tableData.length) return;
|
||||
const newtableData_sub = formData.other_tableData.filter((item) => {
|
||||
return !item.isChoose;
|
||||
});
|
||||
formData.other_tableData.length = 0;
|
||||
newtableData_sub.forEach((item) => {
|
||||
formData.other_tableData.push(item);
|
||||
});
|
||||
isChooseAllSub.value = false;
|
||||
msgSuccess('删除成功');
|
||||
};
|
||||
|
||||
//公共全选
|
||||
const checkItem = (e, type, isAdd = false) => {
|
||||
if (type === 1) {
|
||||
if (!isAdd) {
|
||||
e['isChoose'] = !e['isChoose'];
|
||||
}
|
||||
let isSeletAll = false;
|
||||
for (let index = 0; index < formData.surgery_tableData.length; index++) {
|
||||
const obj = formData.surgery_tableData[index];
|
||||
if (!obj.isChoose) {
|
||||
isSeletAll = false;
|
||||
break;
|
||||
}
|
||||
isSeletAll = true;
|
||||
}
|
||||
if (isSeletAll) {
|
||||
isChooseAll.value = true;
|
||||
} else {
|
||||
isChooseAll.value = false;
|
||||
}
|
||||
} else {
|
||||
if (!isAdd) {
|
||||
e['isChoose'] = !e['isChoose'];
|
||||
}
|
||||
let isSeletAll = false;
|
||||
for (let index = 0; index < formData.other_tableData.length; index++) {
|
||||
const obj = formData.other_tableData[index];
|
||||
if (!obj.isChoose) {
|
||||
isSeletAll = false;
|
||||
break;
|
||||
}
|
||||
isSeletAll = true;
|
||||
}
|
||||
if (isSeletAll) {
|
||||
isChooseAllSub.value = true;
|
||||
} else {
|
||||
isChooseAllSub.value = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
const chooseAll = (type) => {
|
||||
// logHtml()
|
||||
if (type === 1) {
|
||||
if (formData.surgery_tableData.length) {
|
||||
isChooseAll.value = !isChooseAll.value;
|
||||
if (isChooseAll.value) {
|
||||
formData.surgery_tableData.forEach((item) => {
|
||||
item.isChoose = true;
|
||||
});
|
||||
} else {
|
||||
formData.surgery_tableData.forEach((item) => {
|
||||
item.isChoose = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (formData.other_tableData.length) {
|
||||
isChooseAllSub.value = !isChooseAllSub.value;
|
||||
if (isChooseAllSub.value) {
|
||||
formData.other_tableData.forEach((item) => {
|
||||
item.isChoose = true;
|
||||
});
|
||||
} else {
|
||||
formData.other_tableData.forEach((item) => {
|
||||
item.isChoose = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
>>>>>>> v1.3
|
||||
|
||||
const msgSuccess = (msg) => {
|
||||
ElMessage({
|
||||
message: msg,
|
||||
type: 'success',
|
||||
<<<<<<< HEAD
|
||||
})
|
||||
}
|
||||
=======
|
||||
});
|
||||
};
|
||||
>>>>>>> v1.3
|
||||
|
||||
const logHtml = () => {
|
||||
let html = `<!DOCTYPE html>
|
||||
@@ -1878,24 +2411,39 @@ const logHtml = () => {
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<<<<<<< HEAD
|
||||
</html>`
|
||||
|
||||
console.log(JSON.stringify(html))
|
||||
}
|
||||
|
||||
|
||||
=======
|
||||
</html>`;
|
||||
|
||||
console.log(JSON.stringify(html));
|
||||
};
|
||||
>>>>>>> v1.3
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.medicalSec {
|
||||
<<<<<<< HEAD
|
||||
.el-date-editor.el-input, .el-date-editor.el-input__wrapper {
|
||||
=======
|
||||
.el-date-editor.el-input,
|
||||
.el-date-editor.el-input__wrapper {
|
||||
>>>>>>> v1.3
|
||||
width: 100%;
|
||||
}
|
||||
.el-table td.el-table__cell div {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
>>>>>>> v1.3
|
||||
</style>
|
||||
<style lang="scss" scoped>
|
||||
:deep(.el-table__expand-icon) {
|
||||
@@ -2311,4 +2859,8 @@ label {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
<<<<<<< HEAD
|
||||
</style>
|
||||
=======
|
||||
</style>
|
||||
>>>>>>> v1.3
|
||||
|
||||
Reference in New Issue
Block a user