fix: 功能优化,体温统计代码提交。

This commit is contained in:
tianyongbao
2024-10-16 13:00:40 +08:00
parent 20dc140bae
commit b430b2288c
6 changed files with 162 additions and 40 deletions

View File

@@ -8,8 +8,10 @@
<el-option v-for="person in personList" :key="person.id" :label="person.name" :value="person.id" />
</el-select>
</el-form-item>
<el-form-item label="药名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入用药名称" clearable @keyup.enter="handleQuery" />
<el-form-item label="药名称" prop="medicineId">
<el-select v-model="queryParams.medicineId" placeholder="请选择药品名称" clearable>
<el-option v-for="medicine in medicineList" :key="medicine.id" :label="medicine.shortNameBrandPackaging" :value="medicine.id" />
</el-select>
</el-form-item>
<el-form-item label="用药类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择用药类型" clearable>
@@ -89,7 +91,7 @@
<el-dialog :title="title" v-model="open" width="880px" append-to-body>
<el-form ref="marRecordRef" :model="form" :inline="true" :rules="rules" label-width="120px">
<el-form-item label="人员姓名" prop="personId">
<el-select v-model="form.personId" placeholder="请选择人员姓名" @change="handlePersonChange" clearable>
<el-select v-model="form.personId" placeholder="请选择人员姓名" @change="handlePersonChange">
<el-option v-for="person in personList" :key="person.id" :label="person.name" :value="person.id" />
</el-select>
</el-form-item>
@@ -98,14 +100,19 @@
<el-option v-for="health in healthRecordList" :key="health.id" :label="health.name" :value="health.id" />
</el-select>
</el-form-item>
<el-form-item label="用药名称" prop="name">
<el-input v-model="form.name" placeholder="请输入用药名称" />
</el-form-item>
<el-form-item label="用药类型" prop="type">
<el-select v-model="form.type" placeholder="请选择用药类型">
<el-select v-model="form.type" placeholder="请选择用药类型" @change="handleTypeChange">
<el-option v-for="dict in mar_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="药品名称" prop="medicineId">
<el-select v-model="form.medicineId" placeholder="请选择药品名称" @change="handleMedicineChange" clearable>
<el-option v-for="medicine in medicineList" :key="medicine.id" :label="medicine.shortNameBrandPackaging" :value="medicine.id" />
</el-select>
</el-form-item>
<el-form-item label="用药名称" v-show="false" prop="name">
<el-input v-model="form.name" placeholder="请输入用药名称" />
</el-form-item>
<el-form-item label="药品来源" prop="resource">
<el-select v-model="form.resource" placeholder="请选择药品来源">
<el-option v-for="dict in mar_resource" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
@@ -119,15 +126,17 @@
<el-form-item label="用药时间" prop="dosingTime">
<el-date-picker clearable v-model="form.dosingTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择用药时间"> </el-date-picker>
</el-form-item>
<el-form-item label="用药剂量" prop="dosage"> <el-input v-model="form.dosage" placeholder="请输入用药剂量" /></el-form-item>
<el-form-item label="用药单位" prop="unit">
<el-form-item label="用药剂量" prop="dosage">
<el-input @change="handleDosageChange" v-model="form.dosage" placeholder="请输入用药剂量"
/></el-form-item>
<el-form-item label="用药单位" disabled prop="unit">
<el-select v-model="form.unit" placeholder="请选择用药单位">
<el-option v-for="dict in medical_unit" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="含量" prop="content"> <el-input v-model="form.content" placeholder="请输入含量" /></el-form-item>
<el-form-item label="含量单位" prop="contentUnit">
<el-select v-model="form.contentUnit" placeholder="请选择含量单位">
<el-form-item v-show="false" label="含量" prop="content"> <el-input disabled v-model="form.content" placeholder="请输入含量" /></el-form-item>
<el-form-item v-show="false" label="含量单位" prop="contentUnit">
<el-select disabled v-model="form.contentUnit" placeholder="请选择含量单位">
<el-option v-for="dict in content_unit" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
@@ -149,6 +158,7 @@
import { listMarRecord, getMarRecord, delMarRecord, addMarRecord, updateMarRecord } from '@/api/health/marRecord'
import { listPerson, getPerson } from '@/api/health/person'
import { listHealthRecord } from '@/api/health/healthRecord'
import { listMedicineBasic, getMedicineBasic } from '@/api/health/medicineBasic'
import dayjs from 'dayjs'
// eslint-disable-next-line no-unused-vars
import { require } from '@/utils/require'
@@ -166,6 +176,7 @@ const total = ref(0)
const title = ref('')
const personList = ref([])
const healthRecordList = ref([])
const medicineList = ref([])
const operateList = ref([
{ id: 'view', icon: 'View', title: '查看', hasPermi: ['health:marRecord:query'] },
{ id: 'edit', icon: 'Edit', title: '修改', hasPermi: ['health:marRecord:edit'] },
@@ -196,9 +207,15 @@ const data = reactive({
state: '1',
pageSize: 1000
},
queryMedicineParams: {
pageNum: 1,
treatmentType: null,
pageSize: 1000
},
rules: {
name: [{ required: true, message: '药名称不能为空', trigger: 'blur' }],
type: [{ required: true, message: '用药类型1退烧2消炎3止咳4止泻5抗病毒不能为空', trigger: 'change' }],
medicineId: [{ required: true, message: '药名称不能为空', trigger: 'blur' }],
type: [{ required: true, message: '用药类型不能为空', trigger: 'change' }],
healthRecordId: [{ required: true, message: '健康档案不能为空', trigger: 'change' }],
dosingTime: [{ required: true, message: '用药时间不能为空', trigger: 'blur' }],
dosage: [{ required: true, message: '用药剂量不能为空', trigger: 'blur' }],
resource: [{ required: true, message: '药品来源不能为空', trigger: 'blur' }],
@@ -226,12 +243,32 @@ const handleOperate = (operate, row) => {
}
}
const { queryParams, form, rules, queryPersonParams, queryHealthRecordParams } = toRefs(data)
const { queryParams, form, rules, queryPersonParams, queryHealthRecordParams, queryMedicineParams } = toRefs(data)
const handleDosageChange = (val) => {}
const handlePersonChange = (personId) => {
queryHealthRecordParams.personId = personId
listHealthRecord(queryHealthRecordParams).then((response) => {
healthRecordList.value = response.rows
if (response.rows.length > 0) {
form.value.healthRecordId = healthRecordList.value[0].id
}
})
}
const handleTypeChange = (type) => {
queryMedicineParams.value.treatmentType = type
listMedicineBasic(queryMedicineParams.value).then((response) => {
medicineList.value = response.rows
})
}
const handleMedicineChange = (medicineId) => {
getMedicineBasic(medicineId).then((response) => {
form.value.name = response.data.name
form.value.unit = response.data.unit
form.value.contentUnit = response.data.contentUnit
})
}
@@ -242,6 +279,13 @@ function getPersonList() {
})
}
/** 查询药品管理列表 */
function getMedicineList() {
listMedicineBasic(queryMedicineParams.value).then((response) => {
medicineList.value = response.rows
})
}
/** 查询用药记录列表 */
function getList() {
loading.value = true
@@ -284,7 +328,11 @@ function reset() {
dosage: null,
personId: null,
resource: '1',
place: '1'
place: '1',
medicineId: null,
unit: null,
content: '1',
contentUnit: null
}
proxy.resetForm('marRecordRef')
}
@@ -324,6 +372,16 @@ const handleView = (row) => {
/** 新增按钮操作 */
function handleAdd() {
reset()
if (personList.value.length > 0) {
form.value.personId = personList.value[0].id
queryHealthRecordParams.personId = personList.value[0].id
listHealthRecord(queryHealthRecordParams).then((response) => {
healthRecordList.value = response.rows
if (response.rows.length > 0) {
form.value.healthRecordId = healthRecordList.value[0].id
}
})
}
open.value = true
title.value = '添加用药记录'
}
@@ -400,4 +458,5 @@ function handleExport() {
getList()
getPersonList()
getMedicineList()
</script>