feat: 健康档案大屏功能新增。

This commit is contained in:
tianyongbao
2026-06-20 22:10:42 +08:00
parent 81172e9dd2
commit d84e81bf4c
10 changed files with 5386 additions and 30 deletions

View File

@@ -104,10 +104,10 @@
<el-tooltip v-if="scope.row.status === 1" class="item" effect="dark" content="暂停" placement="top">
<el-button icon="VideoPause" v-hasPermi="['health:medicationPlan:edit']" circle @click="handlePause(scope.row)"></el-button>
</el-tooltip>
<el-tooltip v-if="scope.row.status === 2 || scope.row.status === 3" class="item" effect="dark" content="恢复" placement="top">
<el-tooltip v-if="scope.row.status === 2" class="item" effect="dark" content="恢复" placement="top">
<el-button icon="VideoPlay" v-hasPermi="['health:medicationPlan:edit']" circle @click="handleResume(scope.row)"></el-button>
</el-tooltip>
<el-tooltip v-if="scope.row.status !== 2" class="item" effect="dark" content="结束" placement="top">
<el-tooltip v-if="scope.row.status !== 3" class="item" effect="dark" content="结束" placement="top">
<el-button icon="Finished" v-hasPermi="['health:medicationPlan:edit']" circle @click="handleEnd(scope.row)"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="修改" placement="top">
@@ -234,6 +234,7 @@ import { listChronicDiseaseByMember } from '@/api/health/chronicDisease'
import { Close } from '@element-plus/icons-vue'
const { proxy } = getCurrentInstance()
const route = useRoute()
const { medication_frequency_type, medication_plan_status, medical_unit } = proxy.useDict('medication_frequency_type', 'medication_plan_status', 'medical_unit')
const planList = ref([])
@@ -257,9 +258,11 @@ const data = reactive({
pageSize: 10,
planName: null,
personId: null,
chronicDiseaseId: null,
frequencyType: null,
status: null,
keys: null
keys: null,
keyword: null
},
rules: {
personId: [{ required: true, message: '请选择人员', trigger: 'change' }],
@@ -274,7 +277,8 @@ const { queryParams, form, rules } = toRefs(data)
/** 查询用药计划列表 */
function getList() {
loading.value = true
listMedicationPlan(queryParams.value).then((response) => {
const params = { ...queryParams.value, keyword: queryParams.value.keys }
listMedicationPlan(params).then((response) => {
planList.value = response.rows
total.value = response.total
loading.value = false
@@ -340,6 +344,7 @@ function handleQuery() {
/** 重置按钮操作 */
function resetQuery() {
proxy.resetForm('queryRef')
queryParams.value.chronicDiseaseId = null
handleQuery()
}
@@ -449,6 +454,26 @@ function handleAdd() {
title.value = '添加用药计划'
}
function handleAddFromChronicDisease() {
const personId = route.query.personId ? Number(route.query.personId) : null
const chronicDiseaseId = route.query.chronicDiseaseId ? Number(route.query.chronicDiseaseId) : null
if (!personId || !chronicDiseaseId) {
return
}
reset()
form.value.personId = personId
form.value.chronicDiseaseId = chronicDiseaseId
form.value.planName = route.query.diseaseName ? `${route.query.diseaseName}用药计划` : null
queryParams.value.personId = personId
queryParams.value.chronicDiseaseId = chronicDiseaseId
listChronicDiseaseByMember(personId).then((res) => {
chronicDiseaseList.value = res.data || []
})
open.value = true
title.value = '添加用药计划'
getList()
}
/** 修改按钮操作 */
function handleUpdate(row) {
reset()
@@ -616,6 +641,7 @@ function handlePersonChange(personId) {
getPersonList()
getMedicineList()
getList()
handleAddFromChronicDisease()
</script>
<style scoped>