fix: 慢性病管理功能优化完善。

This commit is contained in:
tianyongbao
2026-03-21 22:31:14 +08:00
parent 639c2c913d
commit 9fd1ebc65e
5 changed files with 319 additions and 109 deletions

View File

@@ -3,8 +3,8 @@
<div class="search-con">
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="成员" prop="memberId">
<el-select v-model="queryParams.memberId" placeholder="请选择成员" clearable filterable>
<el-form-item label="成员" prop="personId">
<el-select v-model="queryParams.personId" placeholder="请选择成员" clearable filterable>
<el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
@@ -39,7 +39,7 @@
<el-table v-loading="loading" :data="chronicDiseaseList" @selection-change="handleSelectionChange" height="calc(100% - 0.65rem)">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" :index="indexMethod" width="50"></el-table-column>
<el-table-column label="成员" align="center" prop="memberName" width="100" />
<el-table-column label="成员" align="center" prop="personName" width="100" />
<el-table-column label="疾病名称" align="center" prop="diseaseName" min-width="120" show-overflow-tooltip />
<el-table-column label="疾病编码" align="center" prop="diseaseCode" width="100" />
<el-table-column label="确诊日期" align="center" prop="diagnosisDate" width="110">
@@ -91,8 +91,8 @@
<!-- 添加或修改慢性疾病档案对话框 -->
<el-dialog :title="title" v-model="open" width="880px" append-to-body>
<el-form ref="chronicDiseaseRef" :model="form" :inline="true" :rules="rules" label-width="120px">
<el-form-item label="成员" prop="memberId">
<el-select v-model="form.memberId" placeholder="请选择成员" filterable @change="handleMemberChange">
<el-form-item label="成员" prop="personId">
<el-select v-model="form.personId" placeholder="请选择成员" filterable @change="handleMemberChange">
<el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
@@ -108,13 +108,7 @@
<el-input v-model="form.diseaseCode" placeholder="ICD-10编码可选" />
</el-form-item>
<el-form-item label="确诊日期" prop="diagnosisDate">
<el-date-picker
v-model="form.diagnosisDate"
type="date"
placeholder="选择确诊日期"
value-format="YYYY-MM-DD"
style="width: 200px"
/>
<el-date-picker v-model="form.diagnosisDate" type="date" placeholder="选择确诊日期" value-format="YYYY-MM-DD" style="width: 200px" />
</el-form-item>
<el-form-item label="状态" prop="diseaseStatus">
<el-select v-model="form.diseaseStatus" placeholder="请选择状态">
@@ -130,8 +124,8 @@
<el-form-item label="科室" prop="department">
<el-input v-model="form.department" placeholder="请输入科室" />
</el-form-item>
<el-form-item label="备注说明" style="width: 792px" prop="notes">
<el-input v-model="form.notes" type="textarea" :rows="3" placeholder="请输入备注说明" />
<el-form-item label="诊断结果" style="width: 792px" prop="notes">
<el-input v-model="form.notes" type="textarea" :rows="3" placeholder="请输入说明" />
</el-form-item>
<el-form-item label="备注" style="width: 792px" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
@@ -177,13 +171,13 @@ const data = reactive({
queryParams: {
pageNum: 1,
pageSize: 10,
memberId: null,
personId: null,
diseaseName: null,
diseaseStatus: null,
isActive: null
},
rules: {
memberId: [{ required: true, message: '成员不能为空', trigger: 'change' }],
personId: [{ required: true, message: '成员不能为空', trigger: 'change' }],
diseaseName: [{ required: true, message: '疾病名称不能为空', trigger: 'blur' }],
diseaseStatus: [{ required: true, message: '状态不能为空', trigger: 'change' }]
}
@@ -222,14 +216,14 @@ const handleOperate = (operate, row) => {
/** 查询成员列表 */
function getMemberList() {
listPerson({ pageNum: 1, pageSize: 1000 }).then(response => {
listPerson({ pageNum: 1, pageSize: 1000 }).then((response) => {
memberList.value = response.rows || []
})
}
/** 查询疾病列表 */
function getDiseaseList() {
listHealthDiseases({ pageNum: 1, pageSize: 1000 }).then(response => {
listHealthDiseases({ pageNum: 1, pageSize: 1000 }).then((response) => {
diseaseList.value = response.rows || []
})
}
@@ -237,7 +231,7 @@ function getDiseaseList() {
/** 查询慢性疾病档案列表 */
function getList() {
loading.value = true
listChronicDisease(queryParams.value).then(response => {
listChronicDisease(queryParams.value).then((response) => {
chronicDiseaseList.value = response.rows
total.value = response.total
loading.value = false
@@ -254,7 +248,7 @@ function cancel() {
function reset() {
form.value = {
id: null,
memberId: null,
personId: null,
diseaseId: null,
diseaseName: null,
diseaseCode: null,
@@ -303,7 +297,7 @@ const indexMethod = (index) => {
// 多选框选中数据
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.id)
ids.value = selection.map((item) => item.id)
single.value = selection.length !== 1
multiple.value = !selection.length
}
@@ -326,7 +320,7 @@ function handleAdd() {
function handleUpdate(row) {
reset()
const _id = row.id || ids.value
getChronicDisease(_id).then(response => {
getChronicDisease(_id).then((response) => {
form.value = response.data
open.value = true
title.value = '修改慢性疾病档案'
@@ -336,19 +330,23 @@ function handleUpdate(row) {
/** 状态修改 */
function handleStatusChange(row) {
const text = row.isActive === 1 ? '启用' : '停用'
proxy.$modal.confirm('确认要"' + text + '"该慢性疾病档案吗?').then(() => {
return updateChronicDisease({ id: row.id, isActive: row.isActive })
}).then(() => {
proxy.$modal.msgSuccess(text + '成功')
}).catch(() => {
row.isActive = row.isActive === 0 ? 1 : 0
})
proxy.$modal
.confirm('确认要"' + text + '"该慢性疾病档案吗?')
.then(() => {
return updateChronicDisease({ id: row.id, isActive: row.isActive })
})
.then(() => {
proxy.$modal.msgSuccess(text + '成功')
})
.catch(() => {
row.isActive = row.isActive === 0 ? 1 : 0
})
}
/** 选择疾病时自动填充疾病名称 */
function handleDiseaseChange(diseaseId) {
if (diseaseId) {
const disease = diseaseList.value.find(item => item.id === diseaseId)
const disease = diseaseList.value.find((item) => item.id === diseaseId)
if (disease) {
form.value.diseaseName = disease.name
}
@@ -362,16 +360,16 @@ function handleMemberChange() {
/** 提交按钮 */
function submitForm() {
proxy.$refs.chronicDiseaseRef.validate(valid => {
proxy.$refs.chronicDiseaseRef.validate((valid) => {
if (valid) {
if (form.value.id != null) {
updateChronicDisease(form.value).then(response => {
updateChronicDisease(form.value).then((response) => {
proxy.$modal.msgSuccess('修改成功')
open.value = false
getList()
})
} else {
addChronicDisease(form.value).then(response => {
addChronicDisease(form.value).then((response) => {
proxy.$modal.msgSuccess('新增成功')
open.value = false
getList()
@@ -402,5 +400,4 @@ getDiseaseList()
getList()
</script>
<style scoped>
</style>
<style scoped></style>