Fix Bug #476: 住院医生工作-检查申请单界面缺失核心临床字段(紧急程度、过敏史、检查目的等)
在检查申请单开立界面新增5个核心临床字段(依次放在发往科室之后): 1. 紧急程度:el-select下拉选择(普通/急诊),区分急诊和普通检查 2. 过敏史:textarea输入,提示造影剂过敏风险 3. 检查目的:textarea输入,让执行科室医生了解临床背景 4. 病史摘要:textarea输入,补充患者病史信息 5. 期望检查时间:datetime选择器,实现精准调度 同步更新: - medicalExaminations.vue: 表单模板 + form reactive对象新增字段 - examineApplication.vue: labelMap映射 + 详情弹窗紧急程度转换 + 修改弹窗新增字段 + 编辑/保存逻辑覆盖新字段
This commit is contained in:
@@ -227,6 +227,47 @@
|
|||||||
<el-form-item label="申请单名称">
|
<el-form-item label="申请单名称">
|
||||||
<el-input v-model="editForm.name" />
|
<el-input v-model="editForm.name" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="发往科室">
|
||||||
|
<el-tree-select
|
||||||
|
clearable
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="editForm.targetDepartment"
|
||||||
|
filterable
|
||||||
|
:data="orgOptions"
|
||||||
|
:props="{
|
||||||
|
value: 'id',
|
||||||
|
label: 'name',
|
||||||
|
children: 'children',
|
||||||
|
}"
|
||||||
|
value-key="id"
|
||||||
|
check-strictly
|
||||||
|
placeholder="请选择科室"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="紧急程度">
|
||||||
|
<el-select v-model="editForm.urgencyLevel" placeholder="请选择紧急程度" clearable style="width: 100%">
|
||||||
|
<el-option label="普通" value="routine" />
|
||||||
|
<el-option label="急诊" value="emergency" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="过敏史">
|
||||||
|
<el-input v-model="editForm.allergyHistory" type="textarea" :rows="2" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="检查目的">
|
||||||
|
<el-input v-model="editForm.examinationPurpose" type="textarea" :rows="2" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="病史摘要">
|
||||||
|
<el-input v-model="editForm.medicalHistorySummary" type="textarea" :rows="2" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="期望检查时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="editForm.expectedExaminationTime"
|
||||||
|
type="datetime"
|
||||||
|
placeholder="请选择期望检查时间"
|
||||||
|
style="width: 100%"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="临床诊断">
|
<el-form-item label="临床诊断">
|
||||||
<el-input v-model="editForm.clinicalDiagnosis" type="textarea" :rows="2" />
|
<el-input v-model="editForm.clinicalDiagnosis" type="textarea" :rows="2" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -428,6 +469,11 @@ const buildItemNames = (row) => {
|
|||||||
const labelMap = {
|
const labelMap = {
|
||||||
categoryType: '项目类别',
|
categoryType: '项目类别',
|
||||||
targetDepartment: '发往科室',
|
targetDepartment: '发往科室',
|
||||||
|
urgencyLevel: '紧急程度',
|
||||||
|
allergyHistory: '过敏史',
|
||||||
|
examinationPurpose: '检查目的',
|
||||||
|
medicalHistorySummary: '病史摘要',
|
||||||
|
expectedExaminationTime: '期望检查时间',
|
||||||
symptom: '症状',
|
symptom: '症状',
|
||||||
sign: '体征',
|
sign: '体征',
|
||||||
clinicalDiagnosis: '临床诊断',
|
clinicalDiagnosis: '临床诊断',
|
||||||
@@ -493,6 +539,11 @@ const handleViewDetail = (row) => {
|
|||||||
const deptName = recursionFun(obj.targetDepartment);
|
const deptName = recursionFun(obj.targetDepartment);
|
||||||
obj.targetDepartment = deptName || obj.targetDepartment;
|
obj.targetDepartment = deptName || obj.targetDepartment;
|
||||||
}
|
}
|
||||||
|
// 紧急程度转换为显示文本
|
||||||
|
const urgencyMap = { routine: '普通', emergency: '急诊' };
|
||||||
|
if (obj.urgencyLevel) {
|
||||||
|
obj.urgencyLevel = urgencyMap[obj.urgencyLevel] || obj.urgencyLevel;
|
||||||
|
}
|
||||||
descJsonData.value = obj;
|
descJsonData.value = obj;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('解析 descJson 失败:', e);
|
console.error('解析 descJson 失败:', e);
|
||||||
@@ -514,6 +565,12 @@ const handleEdit = (row) => {
|
|||||||
if (row.descJson) {
|
if (row.descJson) {
|
||||||
try {
|
try {
|
||||||
const desc = JSON.parse(row.descJson);
|
const desc = JSON.parse(row.descJson);
|
||||||
|
form.targetDepartment = desc.targetDepartment || '';
|
||||||
|
form.urgencyLevel = desc.urgencyLevel || '';
|
||||||
|
form.allergyHistory = desc.allergyHistory || '';
|
||||||
|
form.examinationPurpose = desc.examinationPurpose || '';
|
||||||
|
form.medicalHistorySummary = desc.medicalHistorySummary || '';
|
||||||
|
form.expectedExaminationTime = desc.expectedExaminationTime || '';
|
||||||
form.clinicalDiagnosis = desc.clinicalDiagnosis || '';
|
form.clinicalDiagnosis = desc.clinicalDiagnosis || '';
|
||||||
form.attention = desc.attention || '';
|
form.attention = desc.attention || '';
|
||||||
form.symptom = desc.symptom || '';
|
form.symptom = desc.symptom || '';
|
||||||
@@ -544,6 +601,12 @@ const handleSaveEdit = async () => {
|
|||||||
name: editForm.value.name,
|
name: editForm.value.name,
|
||||||
organizationId: editDetail.value.inHospitalOrgId || patientInfo.value?.inHospitalOrgId,
|
organizationId: editDetail.value.inHospitalOrgId || patientInfo.value?.inHospitalOrgId,
|
||||||
descJson: JSON.stringify({
|
descJson: JSON.stringify({
|
||||||
|
targetDepartment: editForm.value.targetDepartment,
|
||||||
|
urgencyLevel: editForm.value.urgencyLevel,
|
||||||
|
allergyHistory: editForm.value.allergyHistory,
|
||||||
|
examinationPurpose: editForm.value.examinationPurpose,
|
||||||
|
medicalHistorySummary: editForm.value.medicalHistorySummary,
|
||||||
|
expectedExaminationTime: editForm.value.expectedExaminationTime,
|
||||||
clinicalDiagnosis: editForm.value.clinicalDiagnosis,
|
clinicalDiagnosis: editForm.value.clinicalDiagnosis,
|
||||||
attention: editForm.value.attention,
|
attention: editForm.value.attention,
|
||||||
symptom: editForm.value.symptom,
|
symptom: editForm.value.symptom,
|
||||||
|
|||||||
@@ -42,6 +42,40 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="紧急程度" prop="urgencyLevel" style="width: 100%">
|
||||||
|
<el-select v-model="form.urgencyLevel" placeholder="请选择紧急程度" clearable style="width: 100%">
|
||||||
|
<el-option label="普通" value="routine" />
|
||||||
|
<el-option label="急诊" value="emergency" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="过敏史" prop="allergyHistory" style="width: 100%">
|
||||||
|
<el-input v-model="form.allergyHistory" autocomplete="off" type="textarea" placeholder="如:造影剂过敏史等" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="检查目的" prop="examinationPurpose" style="width: 100%">
|
||||||
|
<el-input v-model="form.examinationPurpose" autocomplete="off" type="textarea" placeholder="请说明检查目的" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="病史摘要" prop="medicalHistorySummary" style="width: 100%">
|
||||||
|
<el-input v-model="form.medicalHistorySummary" autocomplete="off" type="textarea" placeholder="请简要描述患者病史" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="期望检查时间" prop="expectedExaminationTime" style="width: 100%">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="form.expectedExaminationTime"
|
||||||
|
type="datetime"
|
||||||
|
placeholder="请选择期望检查时间"
|
||||||
|
style="width: 100%"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="症状" prop="symptom" style="width: 100%">
|
<el-form-item label="症状" prop="symptom" style="width: 100%">
|
||||||
<el-input v-model="form.symptom" autocomplete="off" type="textarea" />
|
<el-input v-model="form.symptom" autocomplete="off" type="textarea" />
|
||||||
@@ -145,6 +179,11 @@ const transferValue = ref([]);
|
|||||||
const form = reactive({
|
const form = reactive({
|
||||||
// categoryType: '', // 项目类别
|
// categoryType: '', // 项目类别
|
||||||
targetDepartment: '', // 发往科室
|
targetDepartment: '', // 发往科室
|
||||||
|
urgencyLevel: '', // 紧急程度
|
||||||
|
allergyHistory: '', // 过敏史
|
||||||
|
examinationPurpose: '', // 检查目的
|
||||||
|
medicalHistorySummary: '', // 病史摘要
|
||||||
|
expectedExaminationTime: '', // 期望检查时间
|
||||||
symptom: '', // 症状
|
symptom: '', // 症状
|
||||||
sign: '', // 体征
|
sign: '', // 体征
|
||||||
clinicalDiagnosis: '', // 临床诊断
|
clinicalDiagnosis: '', // 临床诊断
|
||||||
|
|||||||
Reference in New Issue
Block a user