机构逻辑修改

This commit is contained in:
Flow 2025-07-21 15:22:36 +08:00
parent bf02bba18c
commit 4c3fe971c5
5 changed files with 56 additions and 20 deletions

View File

@ -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 })
}
}

View File

@ -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

View File

@ -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('获取数据失败')

View File

@ -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' }]

View File

@ -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()