手术管理->更改部分组件数据来源,改为从字典中获取。

This commit is contained in:
2026-01-07 17:28:56 +08:00
parent 82702f16e0
commit 240d5dc3f7
2 changed files with 70 additions and 93 deletions

View File

@@ -146,9 +146,12 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="手术类型" prop="surgeryTypeEnum"> <el-form-item label="手术类型" prop="surgeryTypeEnum">
<el-select v-model="form.surgeryTypeEnum" placeholder="请选择手术类型" style="width: 100%"> <el-select v-model="form.surgeryTypeEnum" placeholder="请选择手术类型" style="width: 100%">
<el-option label="门诊手术" :value="1" /> <el-option
<el-option label="日间手术" :value="2" /> v-for="item in surgery_type"
<el-option label="急诊手术" :value="3" /> :key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -291,20 +294,24 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="手术等级" prop="surgeryLevel"> <el-form-item label="手术等级" prop="surgeryLevel">
<el-select v-model="form.surgeryLevel" placeholder="请选择手术等级" style="width: 100%"> <el-select v-model="form.surgeryLevel" placeholder="请选择手术等级" style="width: 100%">
<el-option label="一级手术" :value="1" /> <el-option
<el-option label="二级手术" :value="2" /> v-for="item in surgery_level"
<el-option label="三级手术" :value="3" /> :key="item.value"
<el-option label="四级手术" :value="4" /> :label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="切口类型" prop="incisionLevel"> <el-form-item label="切口类型" prop="incisionLevel">
<el-select v-model="form.incisionLevel" placeholder="请选择切口类型" style="width: 100%"> <el-select v-model="form.incisionLevel" placeholder="请选择切口类型" style="width: 100%">
<el-option label="I类切口" :value="1" /> <el-option
<el-option label="II类切口" :value="2" /> v-for="item in incision_level"
<el-option label="III类切口" :value="3" /> :key="item.value"
<el-option label="IV类切口" :value="4" /> :label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -312,27 +319,14 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="麻醉方式" prop="anesthesiaName"> <el-form-item label="麻醉方式" prop="anesthesiaTypeEnum">
<el-select <el-select v-model="form.anesthesiaTypeEnum" placeholder="请选择麻醉方式" style="width: 100%">
v-model="form.anesthesiaName"
filterable
remote
reserve-keyword
placeholder="搜索麻醉项目"
:remote-method="remoteSearchAnesthesia"
:loading="anesthesiaLoading"
style="width: 100%"
@change="handleAnesthesiaChange"
@focus="() => remoteSearchAnesthesia('')"
>
<el-option <el-option
v-for="item in anesthesiaNameList" v-for="item in anesthesia_type"
:key="item.id" :key="item.value"
:label="item.name" :label="item.label"
:value="item.name" :value="item.value"
> />
<span>{{ item.retailPrice || item.retail_price || item.salePrice || item.price || 0 }} - {{ item.name }}</span>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -499,6 +493,10 @@ import { getSurgeryPage, addSurgery, updateSurgery, deleteSurgery, getSurgeryDet
import { getEncounterDiagnosis, getDiagnosisTreatmentList, queryParticipantList } from '../api' import { getEncounterDiagnosis, getDiagnosisTreatmentList, queryParticipantList } from '../api'
import { listUser } from '@/api/system/user' import { listUser } from '@/api/system/user'
import useUserStore from '@/store/modules/user' import useUserStore from '@/store/modules/user'
import { useDict } from '@/utils/dict'
//字典数据 手术类型、手术等级、切口等级、麻醉方式
const { surgery_type, surgery_level, incision_level, anesthesia_type } = useDict('surgery_type', 'surgery_level', 'incision_level', 'anesthesia_type')
const { proxy } = getCurrentInstance() const { proxy } = getCurrentInstance()
const userStore = useUserStore() const userStore = useUserStore()

View File

@@ -32,7 +32,7 @@
<el-form-item label="手术状态" prop="statusEnum"> <el-form-item label="手术状态" prop="statusEnum">
<el-select v-model="queryParams.statusEnum" placeholder="请选择手术状态" clearable style="width: 200px"> <el-select v-model="queryParams.statusEnum" placeholder="请选择手术状态" clearable style="width: 200px">
<el-option <el-option
v-for="item in surgeryStatusOptions" v-for="item in surgery_status"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@@ -42,7 +42,7 @@
<el-form-item label="手术类型" prop="surgeryTypeEnum"> <el-form-item label="手术类型" prop="surgeryTypeEnum">
<el-select v-model="queryParams.surgeryTypeEnum" placeholder="请选择手术类型" clearable style="width: 200px"> <el-select v-model="queryParams.surgeryTypeEnum" placeholder="请选择手术类型" clearable style="width: 200px">
<el-option <el-option
v-for="item in surgeryTypeOptions" v-for="item in surgery_type"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@@ -276,7 +276,7 @@
<el-form-item label="手术类型" prop="surgeryTypeEnum"> <el-form-item label="手术类型" prop="surgeryTypeEnum">
<el-select v-model="form.surgeryTypeEnum" placeholder="请选择手术类型" style="width: 100%" :disabled="isViewMode"> <el-select v-model="form.surgeryTypeEnum" placeholder="请选择手术类型" style="width: 100%" :disabled="isViewMode">
<el-option <el-option
v-for="item in surgeryTypeOptions" v-for="item in surgery_type"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@@ -288,7 +288,7 @@
<el-form-item label="手术等级" prop="surgeryLevel"> <el-form-item label="手术等级" prop="surgeryLevel">
<el-select v-model="form.surgeryLevel" placeholder="请选择手术等级" style="width: 100%" :disabled="isViewMode"> <el-select v-model="form.surgeryLevel" placeholder="请选择手术等级" style="width: 100%" :disabled="isViewMode">
<el-option <el-option
v-for="item in surgeryLevelOptions" v-for="item in surgery_level"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@@ -313,7 +313,14 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="手术部位" prop="bodySite"> <el-form-item label="手术部位" prop="bodySite">
<el-input v-model="form.bodySite" placeholder="请输入手术部位" :disabled="isViewMode" /> <el-select v-model="form.bodySite" placeholder="请选择手术部位" style="width: 100%" :disabled="isViewMode" clearable>
<el-option
v-for="item in surgical_site"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -391,7 +398,7 @@
<el-form-item label="麻醉方式" prop="anesthesiaTypeEnum"> <el-form-item label="麻醉方式" prop="anesthesiaTypeEnum">
<el-select v-model="form.anesthesiaTypeEnum" placeholder="请选择麻醉方式" style="width: 100%" :disabled="isViewMode"> <el-select v-model="form.anesthesiaTypeEnum" placeholder="请选择麻醉方式" style="width: 100%" :disabled="isViewMode">
<el-option <el-option
v-for="item in anesthesiaTypeOptions" v-for="item in anesthesia_type"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@@ -480,7 +487,7 @@
<el-form-item label="切口等级" prop="incisionLevel"> <el-form-item label="切口等级" prop="incisionLevel">
<el-select v-model="form.incisionLevel" placeholder="请选择切口等级" style="width: 100%" :disabled="isViewMode"> <el-select v-model="form.incisionLevel" placeholder="请选择切口等级" style="width: 100%" :disabled="isViewMode">
<el-option <el-option
v-for="item in incisionLevelOptions" v-for="item in incision_level"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@@ -563,6 +570,7 @@ import { listUser } from '@/api/system/user'
import { listOperatingRoom } from '@/api/operatingroom' import { listOperatingRoom } from '@/api/operatingroom'
import { deptTreeSelect } from '@/api/system/user' import { deptTreeSelect } from '@/api/system/user'
import useUserStore from '@/store/modules/user' import useUserStore from '@/store/modules/user'
import { useDict } from '@/utils/dict'
const { proxy } = getCurrentInstance() const { proxy } = getCurrentInstance()
const loading = ref(true) const loading = ref(true)
@@ -627,6 +635,9 @@ const title = ref('')
const operatingRoomList = ref([]) const operatingRoomList = ref([])
const operatingRoomLoading = ref(false) const operatingRoomLoading = ref(false)
const { surgery_type, surgery_level, incision_level, anesthesia_type, surgery_status, surgical_site } =
useDict('surgery_type', 'surgery_level', 'incision_level', 'anesthesia_type', 'surgery_status', 'surgical_site')
// 字典选项 // 字典选项
const surgeryStatusOptions = ref([ const surgeryStatusOptions = ref([
{ value: 0, label: '待排期' }, { value: 0, label: '待排期' },
@@ -637,38 +648,6 @@ const surgeryStatusOptions = ref([
{ value: 5, label: '暂停' } { value: 5, label: '暂停' }
]) ])
const surgeryTypeOptions = ref([
{ value: 1, label: '门诊手术' },
{ value: 2, label: '住院手术' },
{ value: 3, label: '急诊手术' },
{ value: 4, label: '择期手术' }
])
const surgeryLevelOptions = ref([
{ value: 1, label: '一级手术' },
{ value: 2, label: '二级手术' },
{ value: 3, label: '三级手术' },
{ value: 4, label: '四级手术' },
{ value: 5, label: '特级手术' }
])
const anesthesiaTypeOptions = ref([
{ value: 0, label: '无麻醉' },
{ value: 1, label: '局部麻醉' },
{ value: 2, label: '区域麻醉' },
{ value: 3, label: '全身麻醉' },
{ value: 4, label: '脊椎麻醉' },
{ value: 5, label: '硬膜外麻醉' },
{ value: 6, label: '表面麻醉' }
])
const incisionLevelOptions = ref([
{ value: 1, label: 'I级切口' },
{ value: 2, label: 'II级切口' },
{ value: 3, label: 'III级切口' },
{ value: 4, label: 'IV级切口' }
])
const healingLevelOptions = ref([ const healingLevelOptions = ref([
{ value: 1, label: '甲级愈合' }, { value: 1, label: '甲级愈合' },
{ value: 2, label: '乙级愈合' }, { value: 2, label: '乙级愈合' },