让凭证数组与套餐作废任务进入可联调状态
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 7m52s
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 7m52s
Constraint: 后端订单套餐作废接口使用 /api/admin/order-package-invalidate-tasks,上传 purpose 只能使用 attachment。 Rejected: 继续提交逗号拼接凭证字符串 | 新提交路径必须使用 string[],历史字符串只做读取归一化。 Confidence: high Scope-risk: broad Directive: 新增订单套餐作废权限时需同时配置菜单 URL 与 order_package_invalidate_task:create/detail 按钮权限。 Tested: bun run build;development 真实后端联调上传、创建、列表、详情通过;复机接口未触发。 Not-tested: 未逐一手工覆盖所有历史凭证数据、全部角色权限组合和所有文件扩展名预览
This commit is contained in:
@@ -84,7 +84,7 @@ export const hasRoutePermission = (
|
||||
if (permissions.includes('*:*:*')) {
|
||||
return true
|
||||
}
|
||||
return permissions.some((userPermission) => {
|
||||
return permissions.some((userPermission: string) => {
|
||||
if (userPermission.endsWith('*')) {
|
||||
const prefix = userPermission.slice(0, -1)
|
||||
return permission.startsWith(prefix)
|
||||
|
||||
@@ -405,9 +405,30 @@ export const asyncRoutes: AppRouteRecord[] = [
|
||||
title: 'menus.assetManagement.deviceTask',
|
||||
keepAlive: true
|
||||
}
|
||||
},
|
||||
// 订单套餐批量作废任务
|
||||
{
|
||||
path: 'order-package-invalidate-task',
|
||||
name: 'OrderPackageInvalidateTask',
|
||||
component: RoutesAlias.OrderPackageInvalidateTask,
|
||||
meta: {
|
||||
title: 'menus.assetManagement.orderPackageInvalidateTask',
|
||||
keepAlive: true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
// 订单套餐作废任务详情
|
||||
{
|
||||
path: 'task-management/order-package-invalidate-task/detail',
|
||||
name: 'OrderPackageInvalidateTaskDetail',
|
||||
component: RoutesAlias.OrderPackageInvalidateTaskDetail,
|
||||
meta: {
|
||||
title: 'menus.assetManagement.orderPackageInvalidateTaskDetail',
|
||||
isHide: true,
|
||||
keepAlive: false
|
||||
}
|
||||
},
|
||||
// 任务详情(放在 asset-management 层级)
|
||||
{
|
||||
path: 'task-management/task-detail',
|
||||
|
||||
@@ -57,6 +57,8 @@ export enum RoutesAlias {
|
||||
// 任务管理
|
||||
IotCardTask = '/asset-management/task-management/iot-card-task', // IoT卡任务
|
||||
DeviceTask = '/asset-management/task-management/device-task', // 设备任务
|
||||
OrderPackageInvalidateTask = '/asset-management/task-management/order-package-invalidate-task', // 订单套餐批量作废任务
|
||||
OrderPackageInvalidateTaskDetail = '/asset-management/task-management/order-package-invalidate-task/detail', // 订单套餐作废任务详情
|
||||
TaskDetail = '/asset-management/task-management/task-detail', // 任务详情(IoT卡/设备任务详情)
|
||||
ExportTaskList = '/asset-management/export-task-management/export-task-list', // 导出列表
|
||||
ExportTaskDetail = '/asset-management/export-task-management/export-task-detail', // 导出任务详情
|
||||
|
||||
Reference in New Issue
Block a user