Fix Bug #441: 门诊手术安排:手术室护士角色进入页面提示"无权限"且"获取卫生机构列表失败"
根因:HTTP 响应拦截器(request.js)会对所有非 200 响应自动弹出错误通知。 手术室护士角色调用 /system/tenant/page 接口返回 403 时,拦截器先于组件的 .catch() 处理程序弹出"当前操作没有权限"通知,阻断页面体验。 修复:新增 getTenantPageSilent 包装函数,通过 skipErrorMsg: true 配置跳过 拦截器的自动错误提示,让 .catch() 中的 console.warn 静默降级处理。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -885,11 +885,21 @@ import { listUser } from '@/api/system/user'
|
|||||||
import { deptTreeSelect } from '@/api/system/user'
|
import { deptTreeSelect } from '@/api/system/user'
|
||||||
import { listOperatingRoom } from '@/api/operatingroom'
|
import { listOperatingRoom } from '@/api/operatingroom'
|
||||||
import { getSurgeryPage} from '@/views/inpatientDoctor/home/components/applicationShow/api.js'
|
import { getSurgeryPage} from '@/views/inpatientDoctor/home/components/applicationShow/api.js'
|
||||||
import { getTenantPage } from '@/api/system/tenant'
|
|
||||||
import { getContract } from '@/views/inpatientDoctor/home/components/api.js'
|
import { getContract } from '@/views/inpatientDoctor/home/components/api.js'
|
||||||
|
import request from '@/utils/request'
|
||||||
import SurgeryCharge from '../charge/surgerycharge/index.vue'
|
import SurgeryCharge from '../charge/surgerycharge/index.vue'
|
||||||
import TemporaryMedical from './temporaryMedical.vue'
|
import TemporaryMedical from './temporaryMedical.vue'
|
||||||
|
|
||||||
|
// 静默获取卫生机构列表(跳过拦截器错误提示,手术室护士等角色可能无此权限)
|
||||||
|
function getTenantPageSilent(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/tenant/page',
|
||||||
|
method: 'get',
|
||||||
|
params: query,
|
||||||
|
skipErrorMsg: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
@@ -1118,7 +1128,7 @@ onMounted(() => {
|
|||||||
|
|
||||||
// 加载卫生机构列表
|
// 加载卫生机构列表
|
||||||
function loadOrgList() {
|
function loadOrgList() {
|
||||||
getTenantPage({ pageNo: 1, pageSize: 1000 })
|
getTenantPageSilent({ pageNo: 1, pageSize: 1000 })
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
const records = res.data?.records || res.data || []
|
const records = res.data?.records || res.data || []
|
||||||
|
|||||||
Reference in New Issue
Block a user