fix: some

This commit is contained in:
luo
2026-09-17 12:16:20 +08:00
parent 2308d82d0f
commit 76d4e4ec02
126 changed files with 11671 additions and 294 deletions

View File

@@ -15,7 +15,7 @@
@refresh="loadPools"
>
<template #left>
<ElButton v-if="canManage" type="primary" :icon="Plus" @click="showCreateDrawer">
<ElButton v-if="canCreatePool" type="primary" :icon="Plus" @click="showCreateDrawer">
新增商户池
</ElButton>
</template>
@@ -31,7 +31,7 @@
:total="pagination.total"
:marginTop="10"
:actions="getActions"
:actionsWidth="220"
:actionsWidth="120"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
>
@@ -195,7 +195,7 @@
<ElButton
type="primary"
:loading="submitLoading"
:disabled="!canManage"
:disabled="formMode === 'create' ? !canCreatePool : !canEditPool"
@click="handleSubmit"
>
保存
@@ -214,7 +214,8 @@
import type { FormInstance, FormRules } from 'element-plus'
import { PaymentMerchantPoolsService } from '@/api/modules'
import { useCheckedColumns } from '@/composables/useCheckedColumns'
import { usePermission } from '@/composables/usePermission'
import { useAuth } from '@/composables/useAuth'
import { PAYMENT_MERCHANT_POOL_PERMISSIONS } from '@/config/constants/paymentMerchantPools'
import type { SearchFormItem } from '@/types/component'
import {
PAYMENT_METHOD_OPTIONS,
@@ -239,16 +240,15 @@
type FilterVo = string | number | undefined | null | unknown[]
const { isPlatformAccount } = usePermission()
const router = useRouter()
const canManage = computed(() => isPlatformAccount.value)
const { hasAuth } = useAuth()
const canCreatePool = computed(() => hasAuth(PAYMENT_MERCHANT_POOL_PERMISSIONS.poolCreate))
const canEditPool = computed(() => hasAuth(PAYMENT_MERCHANT_POOL_PERMISSIONS.poolEdit))
const canTogglePool = computed(() => hasAuth(PAYMENT_MERCHANT_POOL_PERMISSIONS.poolToggle))
const canViewPoolDetail = computed(() => hasAuth(PAYMENT_MERCHANT_POOL_PERMISSIONS.poolDetail))
const handleNameClick = (row: PaymentMerchantPool) => {
if (!canManage.value) {
ElMessage.warning('您没有查看商户池详情的权限')
return
}
router.push({ path: `${RoutesAlias.PaymentMerchantPoolDetail}/${row.id}` })
}
@@ -282,17 +282,19 @@
minWidth: 180,
showOverflowTooltip: true,
formatter: (row: PaymentMerchantPool) =>
h(
'span',
{
style: 'color: var(--el-color-primary); cursor: pointer; text-decoration: underline;',
onClick: (event: MouseEvent) => {
event.stopPropagation()
handleNameClick(row)
}
},
row.name
)
canViewPoolDetail.value
? h(
'span',
{
style: 'color: var(--el-color-primary); cursor: pointer; text-decoration: underline;',
onClick: (event: MouseEvent) => {
event.stopPropagation()
handleNameClick(row)
}
},
row.name
)
: row.name
},
{
label: '支付方式',
@@ -357,7 +359,6 @@
}
const loadPools = async () => {
if (!canManage.value) return
loading.value = true
try {
const params = {
@@ -674,7 +675,7 @@
}
const showCreateDrawer = async () => {
if (!canManage.value) return
if (!canCreatePool.value) return
Object.assign(form, initialFormState())
formDrawerVisible.value = true
formMode.value = 'create'
@@ -682,7 +683,7 @@
}
const openEditDrawer = async (pool: PaymentMerchantPool) => {
if (!canManage.value) return
if (!canEditPool.value) return
await loadAvailableMerchants(pool.payment_method)
Object.assign(form, initialFormState(), {
id: pool.id,
@@ -711,7 +712,7 @@
}
const handleSubmit = async () => {
if (!canManage.value) return
if (formMode.value === 'create' ? !canCreatePool.value : !canEditPool.value) return
if (!formRef.value) return
try {
await formRef.value.validate()
@@ -741,7 +742,7 @@
const tableRef = ref()
const toggleEnabled = async (pool: PaymentMerchantPool) => {
if (!canManage.value) return
if (!canTogglePool.value) return
const target = !pool.enabled
const action = target ? '启用' : '停用'
try {
@@ -769,20 +770,18 @@
label: '编辑',
type: 'primary' as const,
handler: () => openEditDrawer(row),
permission: canManage.value ? '' : 'hidden'
permission: canEditPool.value ? '' : 'hidden'
},
{
label: row.enabled ? '停用' : '启用',
type: 'primary' as const,
handler: () => toggleEnabled(row),
permission: canManage.value ? '' : 'hidden'
permission: canTogglePool.value ? '' : 'hidden'
}
]
onMounted(() => {
if (canManage.value) {
loadPools()
}
loadPools()
})
onUnmounted(() => {