机构逻辑修改
This commit is contained in:
parent
bf02bba18c
commit
4c3fe971c5
@ -53,5 +53,15 @@ export const OrgApi = {
|
||||
// 查询机构列表
|
||||
getOrgList: async () => {
|
||||
return await request.get({ url: `/system/org/list` })
|
||||
},
|
||||
|
||||
//根据机构ID查询机构详情
|
||||
getOrgByOrgId: async (orgid: number) => {
|
||||
return await request.get({ url: `/system/org/get-by-orgid?orgid=` + orgid })
|
||||
},
|
||||
|
||||
//根据父机构ID查询子机构ID
|
||||
getOrgByParentOrgId: async (parentOrgId: number) => {
|
||||
return await request.get({ url: `/system/org/get-by-parent-orgid?parentOrgId=` + parentOrgId })
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,8 +4,8 @@ export interface UserVO {
|
||||
id: number
|
||||
username: string
|
||||
nickname: string
|
||||
orgId: number
|
||||
orgName: string
|
||||
orgid: number
|
||||
orgname: string
|
||||
deptId: number
|
||||
postIds: string[]
|
||||
email: string
|
||||
|
||||
@ -71,7 +71,7 @@
|
||||
<!-- 数据表格区 -->
|
||||
<el-card class="table-card" shadow="never" style="margin-top: 16px">
|
||||
<el-table v-loading="loading" :data="tableData" border stripe style="width: 100%">
|
||||
<el-table-column prop="examid" label="检查ID" align="center" min-width="180" />
|
||||
<el-table-column prop="examid" label="检查ID" align="center" min-width="220" />
|
||||
<el-table-column prop="name" label="姓名" align="center" min-width="90" />
|
||||
<el-table-column prop="gender" label="性别" align="center" min-width="60">
|
||||
<template #default="{ row }">
|
||||
@ -191,6 +191,8 @@ import { formatDate } from '@/utils/formatTime'
|
||||
import AnalysisDialog from './analysis.vue'
|
||||
import PatientSelect from '@/patientcom/index.vue'
|
||||
import { abpmApi, abpmVO } from '@/api/abpm'
|
||||
import { getUserProfile } from '@/api/system/user/profile'
|
||||
import { OrgApi } from '@/api/org'
|
||||
|
||||
const loading = ref(false)
|
||||
const analysisDialogRef = ref()
|
||||
@ -259,9 +261,35 @@ const formatMeasureTime = (time: any) => {
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
const data = await abpmApi.getabpmPage(queryParams)
|
||||
tableData.value = data.list
|
||||
total.value = data.total
|
||||
//获取用户信息
|
||||
const userinfo = await getUserProfile()
|
||||
const orginfo = await OrgApi.getOrgByOrgId(userinfo.orgid)
|
||||
//判断登陆人机构ID是否为超级管理员[0],或者为空
|
||||
if (userinfo.orgid != 0 && userinfo.orgid != null) {
|
||||
//判断登陆人机构ID是否有等于父&上级机构ID,如果等于则查询子&下级机构ID
|
||||
if (userinfo.orgid != orginfo.parentOrgId) {
|
||||
queryParams.orgid = userinfo.orgid
|
||||
const data = await abpmApi.getabpmPage(queryParams)
|
||||
tableData.value = data.list
|
||||
total.value = data.total
|
||||
} else if (userinfo.orgid == orginfo.parentOrgId) {
|
||||
//查询子&下级机构ID并查询对应机构的患者数据
|
||||
const childinfo = await OrgApi.getOrgByParentOrgId(userinfo.orgid)
|
||||
queryParams.orgid = childinfo.orgId
|
||||
queryParams.status = '1'
|
||||
const data = await abpmApi.getabpmPage(queryParams)
|
||||
tableData.value = data.list
|
||||
total.value = data.total
|
||||
}
|
||||
} else if (userinfo.orgid == 0) {
|
||||
//如果是超级管理员,查询全部
|
||||
const data = await abpmApi.getabpmPage(queryParams)
|
||||
tableData.value = data.list
|
||||
total.value = data.total
|
||||
} else {
|
||||
console.error('用户机构为空')
|
||||
return
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取ABPM数据失败:', error)
|
||||
ElMessage.error('获取数据失败')
|
||||
|
||||
@ -27,8 +27,8 @@
|
||||
class="!w-180px"
|
||||
@change="handleIsParentChange"
|
||||
>
|
||||
<el-option label="基层" value="0" />
|
||||
<el-option label="上级" value="1" />
|
||||
<el-option label="基层" :value="0" />
|
||||
<el-option label="上级" :value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="showParentOrgSelect" label="上级机构" prop="parentOrgId">
|
||||
@ -43,7 +43,7 @@
|
||||
v-for="org in parentOrgList"
|
||||
:key="org.id"
|
||||
:label="org.orgName"
|
||||
:value="org.id"
|
||||
:value="org.orgId"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -122,7 +122,6 @@ const handleParentOrgChange = (value: number | undefined) => {
|
||||
const loadParentOrgList = async () => {
|
||||
try {
|
||||
const response = await OrgApi.getParentOrgList()
|
||||
console.log(response)
|
||||
// 如果返回的是直接的数组,直接使用;如果是包装在data字段中,则使用data
|
||||
parentOrgList.value = Array.isArray(response) ? response : response.data || []
|
||||
} catch (error) {
|
||||
@ -138,12 +137,12 @@ const open = async (type: string, id?: number) => {
|
||||
formType.value = type
|
||||
resetForm()
|
||||
// 修改时,设置数据
|
||||
if (id) {
|
||||
if (id != null) {
|
||||
formLoading.value = true
|
||||
try {
|
||||
formData.value = await OrgApi.getOrg(id)
|
||||
// 根据机构属性决定是否显示上级机构选择框
|
||||
if (formData.value.isParent === '0') {
|
||||
if (formData.value.isParent == '0') {
|
||||
showParentOrgSelect.value = true
|
||||
await loadParentOrgList()
|
||||
formRules.parentOrgId = [{ required: true, message: '上级机构不能为空', trigger: 'change' }]
|
||||
|
||||
@ -129,8 +129,8 @@
|
||||
<el-table-column
|
||||
label="所属机构"
|
||||
align="center"
|
||||
key="orgName"
|
||||
prop="orgName"
|
||||
key="orgname"
|
||||
prop="orgname"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column label="手机号码" align="center" prop="mobile" width="120" />
|
||||
@ -244,8 +244,8 @@ const queryParams = reactive({
|
||||
status: undefined,
|
||||
deptId: undefined,
|
||||
createTime: [],
|
||||
orgId: undefined,
|
||||
orgName: undefined
|
||||
orgid: undefined,
|
||||
orgname: undefined
|
||||
})
|
||||
const queryFormRef = ref() // 搜索的表单
|
||||
|
||||
@ -276,11 +276,10 @@ const resetQuery = () => {
|
||||
/** 处理机构被点击 */
|
||||
const handleOrgNodeClick = async (org: any) => {
|
||||
if (org === undefined) {
|
||||
queryParams.orgId = undefined
|
||||
queryParams.orgName = undefined
|
||||
queryParams.orgid = undefined
|
||||
queryParams.orgname = undefined
|
||||
} else {
|
||||
queryParams.orgId = org.orgId || org.id // 尝试两个字段
|
||||
queryParams.orgName = org.orgName
|
||||
queryParams.orgid = org.orgId //根据机构筛选
|
||||
}
|
||||
queryParams.pageNo = 1 // 重置到第一页
|
||||
await getList()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user