fix: 资产详情办理沉默期延期报无权执行此操作,弹窗被表格固定列遮挡
Some checks failed
构建并部署前端到测试环境 / deploy (push) Failing after 4m33s

- 延期弹窗、沉默期流水弹窗的 allowed 未传时默认允许:Vue 会把未传的布尔 prop 当成 false,资产详情入口一律被拦截
- 沉默期相关弹窗挂到 body,避免在表格固定列里渲染被其他固定列盖住
This commit is contained in:
邹进
2026-11-07 20:10:59 +09:00
parent 8b01169219
commit 8fe65ca66d
3 changed files with 18 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
<template>
<ElDialog
:model-value="true"
append-to-body
title="办理沉默期延期"
width="min(760px, 96vw)"
destroy-on-close
@@ -209,7 +210,11 @@
} from '@/types/api/packageSilenceContract'
import VoucherUpload from '@/components/business/VoucherUpload.vue'
import SilenceTable from './SilenceTable.vue'
const props = defineProps<{ usageId?: number; allowed?: boolean; batchMode?: boolean }>()
// allowed 未传时视为允许:Vue 会把未传的布尔 prop 当成 false,不设默认值时资产详情入口一律报"无权执行此操作"
const props = withDefaults(
defineProps<{ usageId?: number; allowed?: boolean; batchMode?: boolean }>(),
{ allowed: true, batchMode: false }
)
const emit = defineEmits<{ close: []; changed: [] }>()
const { hasAuth } = useAuth(),
user = useUserStore()

View File

@@ -1,5 +1,6 @@
<template>
<ElDialog
append-to-body
:model-value="true"
:title="id ? '编辑延期政策' : '新增延期政策'"
width="min(780px, 96vw)"

View File

@@ -1,6 +1,7 @@
<template>
<ElDialog
:model-value="true"
append-to-body
:title="firstPurchase ? '首次购买套餐记录' : '沉默期流水'"
width="min(1100px, 96vw)"
destroy-on-close
@@ -16,12 +17,16 @@
import { useSchedulerRequest } from '@/composables/useSchedulerRequest'
import { silenceData, silenceId } from '@/utils/business/silenceExtension'
import SilenceTable from './SilenceTable.vue'
const props = defineProps<{
usageId?: number
assetId?: number
assetType?: 'card' | 'device'
allowed?: boolean
}>()
// allowed 未传时视为允许(Vue 会把未传的布尔 prop 当成 false)
const props = withDefaults(
defineProps<{
usageId?: number
assetId?: number
assetType?: 'card' | 'device'
allowed?: boolean
}>(),
{ allowed: true }
)
defineEmits<{ close: [] }>()
const firstPurchase = computed(() => !!props.assetType)
const { data, error, loading, load } = useSchedulerRequest<object[]>(