新增
This commit is contained in:
@@ -193,7 +193,7 @@
|
||||
size="small"
|
||||
@click="handleViewCase(row)"
|
||||
>
|
||||
病例
|
||||
病历
|
||||
</el-button>
|
||||
<template v-if="row.status === 1">
|
||||
<el-button
|
||||
@@ -911,7 +911,7 @@ const handleMiniProgramQRCode = async (row: any) => {
|
||||
}
|
||||
}
|
||||
|
||||
// 处方保存成功(刷新列表,并刷新编辑抽屉中的病例列表)
|
||||
// 处方保存成功(刷新列表,并刷新编辑抽屉中的病历列表)
|
||||
const onPrescriptionSuccess = () => {
|
||||
loadData()
|
||||
editRef.value?.refreshCaseList?.()
|
||||
@@ -926,7 +926,7 @@ const handlePrescription = (row: any) => {
|
||||
prescriptionRef.value?.open(row)
|
||||
}
|
||||
|
||||
// 查看病例(开方后显示)
|
||||
// 查看病历(开方后显示)
|
||||
const handleViewCase = async (row: any) => {
|
||||
if (!row.id) {
|
||||
feedback.msgWarning('预约信息不完整')
|
||||
@@ -937,10 +937,10 @@ const handleViewCase = async (row: any) => {
|
||||
if (prescription?.id) {
|
||||
prescriptionRef.value?.openById(prescription.id)
|
||||
} else {
|
||||
feedback.msgWarning('该预约暂无病例记录,请先开方')
|
||||
feedback.msgWarning('该预约暂无病历记录,请先开方')
|
||||
}
|
||||
} catch (error: any) {
|
||||
feedback.msgError(error?.msg || '获取病例失败')
|
||||
feedback.msgError(error?.msg || '获取病历失败')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-empty v-if="!loading && caseList.length === 0" description="暂无病例记录,开方后会自动显示" class="mt-4" />
|
||||
<el-empty v-if="!loading && caseList.length === 0" description="暂无病历记录,开方后会自动显示" class="mt-4" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -58,7 +58,7 @@ const getCases = async () => {
|
||||
const data = await prescriptionListByDiagnosis({ diagnosis_id: props.diagnosisId })
|
||||
caseList.value = Array.isArray(data) ? data : []
|
||||
} catch (error) {
|
||||
console.error('获取病例记录失败:', error)
|
||||
console.error('获取病历记录失败:', error)
|
||||
caseList.value = []
|
||||
} finally {
|
||||
loading.value = false
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
>
|
||||
<el-tabs v-model="activeTab" class="diagnosis-tabs">
|
||||
<!-- 基本信息标签页 -->
|
||||
<el-tab-pane label="基本信息" name="basic">
|
||||
<el-tab-pane label="病历" name="basic">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
@@ -103,7 +103,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="身高(cm)" prop="height">
|
||||
<el-form-item label="就诊人身高(cm)" prop="height">
|
||||
<el-input-number
|
||||
v-model="formData.height"
|
||||
:min="0"
|
||||
@@ -137,23 +137,23 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="收缩压(mmHg)" prop="systolic_pressure">
|
||||
<el-form-item label="就诊人血压(高压mmHg)" prop="systolic_pressure">
|
||||
<el-input-number
|
||||
v-model="formData.systolic_pressure"
|
||||
:min="0"
|
||||
:max="250"
|
||||
placeholder="请输入收缩压"
|
||||
placeholder="请输入高压"
|
||||
class="w-full"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="舒张压(mmHg)" prop="diastolic_pressure">
|
||||
<el-form-item label="就诊人血压(低压mmHg)" prop="diastolic_pressure">
|
||||
<el-input-number
|
||||
v-model="formData.diastolic_pressure"
|
||||
:min="0"
|
||||
:max="150"
|
||||
placeholder="请输入舒张压"
|
||||
placeholder="请输入低压"
|
||||
class="w-full"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -194,45 +194,11 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="证型" prop="syndrome_type">
|
||||
<el-select
|
||||
v-model="formData.syndrome_type"
|
||||
placeholder="请选择证型"
|
||||
class="w-full"
|
||||
:popper-options="{ strategy: 'fixed' }"
|
||||
popper-class="high-z-index"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in syndromeTypeOptions"
|
||||
:key="item.value"
|
||||
:label="item.name"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="糖尿病期数" prop="diabetes_type">
|
||||
<el-select
|
||||
v-model="formData.diabetes_type"
|
||||
placeholder="请选择糖尿病期数"
|
||||
class="w-full"
|
||||
:popper-options="{ strategy: 'fixed' }"
|
||||
popper-class="high-z-index"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in diabetesTypeOptions"
|
||||
:key="item.value"
|
||||
:label="item.name + (item.remark ? ' (' + item.remark + ')' : '')"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-radio-group v-model="formData.status">
|
||||
@@ -246,7 +212,7 @@
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="线下诊断日期" prop="diagnosis_date">
|
||||
<el-form-item label="当地医院诊断日期" prop="diagnosis_date">
|
||||
<el-date-picker
|
||||
v-model="formData.diagnosis_date"
|
||||
type="date"
|
||||
@@ -259,7 +225,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="发现糖尿病就患病史" prop="diabetes_discovery_year">
|
||||
<el-form-item label="发现糖尿病病患病史" prop="diabetes_discovery_year">
|
||||
<el-input-number
|
||||
v-model="formData.diabetes_discovery_year"
|
||||
:min="0"
|
||||
@@ -272,7 +238,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="当地医院诊断结果" class="checkbox-form-item">
|
||||
<el-form-item label="当地医院诊断结果" prop="local_hospital_diagnosis" class="checkbox-form-item">
|
||||
<el-checkbox-group v-model="formData.local_hospital_diagnosis">
|
||||
<el-checkbox-button label="糖尿病">糖尿病</el-checkbox-button>
|
||||
<el-checkbox-button label="高血压">高血压</el-checkbox-button>
|
||||
@@ -573,8 +539,8 @@
|
||||
/>
|
||||
<el-empty v-else description="请先保存诊单后再添加血糖血压记录" />
|
||||
</el-tab-pane>
|
||||
<!-- 病例记录标签页(开方后自动显示) -->
|
||||
<el-tab-pane label="病例" name="bingli" :disabled="!formData.id">
|
||||
<!-- 病历记录标签页(开方后自动显示) -->
|
||||
<el-tab-pane label="处方" name="bingli" :disabled="!formData.id">
|
||||
<div v-if="formData.id" class="bingli-tab-content">
|
||||
<!-- 诊断信息:舌苔照片、检查报告 -->
|
||||
<div class="bingli-diagnosis-section">
|
||||
@@ -610,18 +576,18 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<!-- 病例记录列表 -->
|
||||
<!-- 病历记录列表 -->
|
||||
<case-record-list
|
||||
ref="caseRecordListRef"
|
||||
:diagnosis-id="Number(formData.id)"
|
||||
@view="handleViewCase"
|
||||
/>
|
||||
</div>
|
||||
<el-empty v-else description="请先保存诊单,开方后病例将在此显示" />
|
||||
<el-empty v-else description="请先保存诊单,开方后病历将在此显示" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
<!-- 处方详情(查看病例) -->
|
||||
<!-- 处方详情(查看病历) -->
|
||||
<tcm-prescription ref="prescriptionRef" @success="caseRecordListRef?.refresh?.()" />
|
||||
|
||||
<template #footer>
|
||||
@@ -751,8 +717,9 @@ const formRules = {
|
||||
age: [{ required: true, message: '请输入年龄', trigger: 'blur' }],
|
||||
diagnosis_date: [{ required: true, message: '请选择诊断日期', trigger: 'change' }],
|
||||
diagnosis_type: [{ required: true, message: '请选择诊断类型', trigger: 'change' }],
|
||||
syndrome_type: [{ required: true, message: '请选择证型', trigger: 'change' }],
|
||||
diabetes_type: [{ required: true, message: '请选择糖尿病期数', trigger: 'change' }]
|
||||
diabetes_discovery_year: [{ required: true, message: '请输入发现糖尿病病患病史年数', trigger: 'blur' }],
|
||||
local_hospital_diagnosis: [{ required: true, type: 'array', min: 1, message: '请选择当地医院诊断结果', trigger: 'change' }],
|
||||
local_hospital_name: [{ required: true, message: '请输入当地就诊医院名称', trigger: 'blur' }]
|
||||
}
|
||||
|
||||
// 获取字典选项
|
||||
@@ -1114,7 +1081,7 @@ defineExpose({
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
/* 病例 tab 诊断信息 */
|
||||
/* 病历 tab 诊断信息 */
|
||||
.bingli-tab-content {
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item v-if="hasPermission(['tcm.diagnosis/assign'])" command="assign"><el-icon><User /></el-icon>指派</el-dropdown-item>
|
||||
<el-dropdown-item v-if="row.has_appointment && hasPermission(['tcm.diagnosis/videoQr'])" command="videoQr"><el-icon><Picture /></el-icon>视频二维码</el-dropdown-item>
|
||||
<el-dropdown-item v-if="hasPermission(['tcm.diagnosis/guahao'])" command="confirmQr"><el-icon><Picture /></el-icon>确认诊单二维码</el-dropdown-item>
|
||||
<el-dropdown-item v-if="hasPermission(['tcm.diagnosis/guahao'])" command="confirmQr"><el-icon><Picture /></el-icon>二维码</el-dropdown-item>
|
||||
<el-dropdown-item command="order" v-if="hasPermission(['tcm.diagnosis/order'])"><el-icon><Document /></el-icon>创建订单</el-dropdown-item>
|
||||
<el-dropdown-item v-if="hasPermission(['tcm.diagnosis/delete'])" command="delete" divided><el-icon><Delete /></el-icon><span class="text-danger">删除</span></el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
@@ -948,6 +948,7 @@ const handleVideoQRCode = async (row: any) => {
|
||||
}
|
||||
const result = await generateMiniProgramQrcode({
|
||||
doctor_id: row.appointment_doctor_id,
|
||||
diagnosis_id: row.appointment_doctor_id,
|
||||
patient_id: row.patient_id,
|
||||
share_user_id: userStore.userInfo?.id || '',
|
||||
mini_program_path: 'pages/login/login'
|
||||
@@ -975,7 +976,7 @@ const handleMiniProgramQRCode = async (row: any) => {
|
||||
qrcodeDialogVisible.value = true
|
||||
qrcodeLoading.value = true
|
||||
qrcodeUrl.value = ''
|
||||
qrcodeDialogTitle.value = '确认诊单二维码'
|
||||
qrcodeDialogTitle.value = '诊单二维码'
|
||||
|
||||
try {
|
||||
// 获取小程序配置
|
||||
@@ -993,6 +994,7 @@ const handleMiniProgramQRCode = async (row: any) => {
|
||||
// 调用生成二维码接口
|
||||
const result = await generateMiniProgramQrcode({
|
||||
diagnosis_id: row.id,
|
||||
doctor_id: row.appointment_doctor_id,
|
||||
patient_id: row.patient_id,
|
||||
share_user_id: currentUser?.id || ''
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user