feat: 审计链路
Some checks failed
构建并部署前端到测试环境 / build-and-deploy (push) Failing after 59s

This commit is contained in:
luo
2026-08-07 18:33:37 +08:00
parent fa3d7088f9
commit b8b2854aa6
54 changed files with 5448 additions and 12 deletions

View File

@@ -28,6 +28,8 @@
:pageSize="pagination.pageSize"
:total="pagination.total"
:marginTop="10"
:actions="getActions"
:actionsWidth="180"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
>
@@ -51,10 +53,15 @@
import { formatDateTime } from '@/utils/business/format'
import type { AssetAllocationRecord, AllocationTypeEnum, AssetTypeEnum } from '@/types/api/card'
import { RoutesAlias } from '@/router/routesAlias'
import { useUserStore } from '@/store/modules/user'
import { AUDIT_PERMISSIONS } from '@/config/constants/audit'
import { resolveAuditResourceTarget } from '@/utils/business/auditNavigation'
import { openAuditInvestigation } from '@/components/business/audit/investigationController'
defineOptions({ name: 'AssetAllocationRecords' })
const { hasAuth } = useAuth()
const userStore = useUserStore()
const router = useRouter()
const loading = ref(false)
@@ -221,6 +228,40 @@
const recordList = ref<AssetAllocationRecord[]>([])
const getActions = (row: AssetAllocationRecord) => {
const actions: Array<{ label: string; handler: () => void; type: 'primary' }> = []
const userType = Number(userStore.info.user_type)
const entryPermission =
userType === 3 ? AUDIT_PERMISSIONS.agentActivity : AUDIT_PERMISSIONS.resourceTimeline
if (!hasAuth(entryPermission) || userType === 4) return actions
const recordTarget = resolveAuditResourceTarget({
userType,
resourceType: 'asset_allocation_record',
internalId: row.id,
businessIdentifier: row.allocation_no
})
if (recordTarget)
actions.push({
label: userType === 3 ? '活动记录' : '分配审计',
handler: () => openAuditInvestigation(recordTarget),
type: 'primary'
})
if ([1, 2].includes(userType)) {
const assetTarget = resolveAuditResourceTarget({
userType,
resourceType: row.asset_type,
internalId: row.asset_id
})
if (assetTarget)
actions.push({
label: '资产审计',
handler: () => openAuditInvestigation(assetTarget),
type: 'primary'
})
}
return actions
}
// 获取分配类型标签类型
const getAllocationTypeType = (type: AllocationTypeEnum) => {
return type === 'allocate' ? 'success' : 'warning'