Compare commits
2 Commits
f726312077
...
1d4bbf62b6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d4bbf62b6 | ||
|
|
04e0d890b9 |
@@ -41,43 +41,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<!-- 性别、出生日期、实足年龄 -->
|
||||
<el-row :gutter="16" class="form-row align-bottom">
|
||||
<el-col :span="6" class="form-item">
|
||||
<span class="form-label required">性别</span>
|
||||
<el-radio-group v-model="form.sex">
|
||||
<el-radio label="男">男</el-radio>
|
||||
<el-radio label="女">女</el-radio>
|
||||
<el-radio label="未知">未知</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="10" class="form-item birth-date">
|
||||
<span class="form-label required">出生日期</span>
|
||||
<div class="date-inputs">
|
||||
<el-input v-model="form.birthYear" class="underline-input small" maxlength="4" @change="calculateAge" />
|
||||
<span>年</span>
|
||||
<el-input v-model="form.birthMonth" class="underline-input small" maxlength="2" @change="calculateAge" />
|
||||
<span>月</span>
|
||||
<el-input v-model="form.birthDay" class="underline-input small" maxlength="2" @change="calculateAge" />
|
||||
<span>日</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8" class="form-item age-item">
|
||||
<span class="form-label">或 实足年龄</span>
|
||||
<div class="age-inputs">
|
||||
<el-input v-model="form.age" class="underline-input small"/>
|
||||
<el-select v-model="form.ageUnit" class="age-unit-select">
|
||||
<el-option label="岁" value="岁" />
|
||||
<el-option label="月" value="月" />
|
||||
<el-option label="天" value="天" />
|
||||
</el-select>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<!-- 工作单位 -->
|
||||
<el-row :gutter="16" class="form-row">
|
||||
<el-col :span="24" class="form-item full-width">
|
||||
<span class="form-label">工作单位(学校)</span>
|
||||
<el-input v-model="form.workplace" class="underline-input" />
|
||||
</el-col>
|
||||
|
||||
@@ -227,6 +227,47 @@
|
||||
<el-form-item label="申请单名称">
|
||||
<el-input v-model="editForm.name" />
|
||||
</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-input v-model="editForm.clinicalDiagnosis" type="textarea" :rows="2" />
|
||||
</el-form-item>
|
||||
@@ -428,6 +469,11 @@ const buildItemNames = (row) => {
|
||||
const labelMap = {
|
||||
categoryType: '项目类别',
|
||||
targetDepartment: '发往科室',
|
||||
urgencyLevel: '紧急程度',
|
||||
allergyHistory: '过敏史',
|
||||
examinationPurpose: '检查目的',
|
||||
medicalHistorySummary: '病史摘要',
|
||||
expectedExaminationTime: '期望检查时间',
|
||||
symptom: '症状',
|
||||
sign: '体征',
|
||||
clinicalDiagnosis: '临床诊断',
|
||||
@@ -493,6 +539,11 @@ const handleViewDetail = (row) => {
|
||||
const deptName = recursionFun(obj.targetDepartment);
|
||||
obj.targetDepartment = deptName || obj.targetDepartment;
|
||||
}
|
||||
// 紧急程度转换为显示文本
|
||||
const urgencyMap = { routine: '普通', emergency: '急诊' };
|
||||
if (obj.urgencyLevel) {
|
||||
obj.urgencyLevel = urgencyMap[obj.urgencyLevel] || obj.urgencyLevel;
|
||||
}
|
||||
descJsonData.value = obj;
|
||||
} catch (e) {
|
||||
console.error('解析 descJson 失败:', e);
|
||||
@@ -514,6 +565,12 @@ const handleEdit = (row) => {
|
||||
if (row.descJson) {
|
||||
try {
|
||||
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.attention = desc.attention || '';
|
||||
form.symptom = desc.symptom || '';
|
||||
@@ -544,6 +601,12 @@ const handleSaveEdit = async () => {
|
||||
name: editForm.value.name,
|
||||
organizationId: editDetail.value.inHospitalOrgId || patientInfo.value?.inHospitalOrgId,
|
||||
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,
|
||||
attention: editForm.value.attention,
|
||||
symptom: editForm.value.symptom,
|
||||
|
||||
@@ -42,6 +42,40 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</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-form-item label="症状" prop="symptom" style="width: 100%">
|
||||
<el-input v-model="form.symptom" autocomplete="off" type="textarea" />
|
||||
@@ -145,6 +179,11 @@ const transferValue = ref([]);
|
||||
const form = reactive({
|
||||
// categoryType: '', // 项目类别
|
||||
targetDepartment: '', // 发往科室
|
||||
urgencyLevel: '', // 紧急程度
|
||||
allergyHistory: '', // 过敏史
|
||||
examinationPurpose: '', // 检查目的
|
||||
medicalHistorySummary: '', // 病史摘要
|
||||
expectedExaminationTime: '', // 期望检查时间
|
||||
symptom: '', // 症状
|
||||
sign: '', // 体征
|
||||
clinicalDiagnosis: '', // 临床诊断
|
||||
|
||||
Reference in New Issue
Block a user