This commit is contained in:
@@ -35,20 +35,24 @@
|
||||
根据提供的权限JSON,需要添加权限控制的模块包括:
|
||||
|
||||
1. **套餐管理** (`/package-management`)
|
||||
|
||||
- 套餐系列 (`package-series`)
|
||||
- 套餐列表 (`package-list`)
|
||||
- 单套餐分配 (`package-assign`)
|
||||
- 套餐系列分配 (`series-assign`)
|
||||
|
||||
2. **店铺管理** (`/shop-management`)
|
||||
|
||||
- 店铺列表 (`list`)
|
||||
|
||||
3. **账号管理** (`/account-management`)
|
||||
|
||||
- 账号列表 (`account`)
|
||||
- 平台账号 (`platform-account`)
|
||||
- 代理账号 (`shop-account`)
|
||||
|
||||
4. **资产管理** (`/asset-management`)
|
||||
|
||||
- IoT卡管理 (`iot-card-management`)
|
||||
- IoT卡任务 (`iot-card-task`)
|
||||
- 设备任务 (`device-task`)
|
||||
@@ -67,9 +71,9 @@
|
||||
|
||||
```vue
|
||||
<script setup>
|
||||
import { useAuth } from '@/composables/useAuth'
|
||||
import { useAuth } from '@/composables/useAuth'
|
||||
|
||||
const { hasAuth } = useAuth()
|
||||
const { hasAuth } = useAuth()
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -79,29 +83,28 @@ const { hasAuth } = useAuth()
|
||||
</template>
|
||||
|
||||
<!-- 2. 表格列中的状态切换 -->
|
||||
<ElSwitch
|
||||
:disabled="!hasAuth('module:update_status')"
|
||||
v-model="row.status"
|
||||
/>
|
||||
<ElSwitch :disabled="!hasAuth('module:update_status')" v-model="row.status" />
|
||||
|
||||
<!-- 3. 表格列中的操作按钮 -->
|
||||
<script>
|
||||
const columns = [{
|
||||
prop: 'operation',
|
||||
formatter: (row) => {
|
||||
const buttons = []
|
||||
const columns = [
|
||||
{
|
||||
prop: 'operation',
|
||||
formatter: (row) => {
|
||||
const buttons = []
|
||||
|
||||
if (hasAuth('module:edit')) {
|
||||
buttons.push(h(ArtButtonTable, { type: 'edit', onClick: () => edit(row) }))
|
||||
if (hasAuth('module:edit')) {
|
||||
buttons.push(h(ArtButtonTable, { type: 'edit', onClick: () => edit(row) }))
|
||||
}
|
||||
|
||||
if (hasAuth('module:delete')) {
|
||||
buttons.push(h(ArtButtonTable, { type: 'delete', onClick: () => del(row) }))
|
||||
}
|
||||
|
||||
return h('div', { style: 'display: flex; gap: 8px;' }, buttons)
|
||||
}
|
||||
}
|
||||
|
||||
if (hasAuth('module:delete')) {
|
||||
buttons.push(h(ArtButtonTable, { type: 'delete', onClick: () => del(row) }))
|
||||
}
|
||||
|
||||
return h('div', { style: 'display: flex; gap: 8px;' }, buttons)
|
||||
}
|
||||
}]
|
||||
]
|
||||
</script>
|
||||
</template>
|
||||
```
|
||||
|
||||
@@ -9,12 +9,14 @@
|
||||
### 1. 套餐管理模块 (Package Management) ✅
|
||||
|
||||
- [x] **套餐系列页面** (`/package-management/package-series`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"新增套餐系列"按钮添加 `v-permission="'package_series:add'"`
|
||||
- ✅ 为状态切换添加 `disabled: !hasAuth('package_series:update_status')`
|
||||
- ✅ 在操作列中使用 `hasAuth()` 判断编辑权限 (`package_series:edit`)和删除权限 (`package_series:delete`)
|
||||
|
||||
- [x] **套餐列表页面** (`/package-management/package-list`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"新增套餐"按钮添加 `v-permission="'package:add'"`
|
||||
- ✅ 为上/下架切换添加 `disabled: !hasAuth('package:update_away')`
|
||||
@@ -22,6 +24,7 @@
|
||||
- ✅ 在操作列中使用 `hasAuth()` 判断编辑 (`package:edit`) 和删除 (`package:delete`) 权限
|
||||
|
||||
- [x] **单套餐分配页面** (`/package-management/package-assign`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"新增分配"按钮添加 `v-permission="'package_assign:add'"`
|
||||
- ✅ 为状态切换添加 `disabled: !hasAuth('package_assign:update_status')`
|
||||
@@ -50,6 +53,7 @@
|
||||
### 3. 账号管理模块 (Account Management) ✅
|
||||
|
||||
- [x] **账号列表页面** (`/account-management/account`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"新增账号"按钮添加 `v-permission="'account:add'"`
|
||||
- ✅ 在操作列中使用 `hasAuth()` 判断以下权限:
|
||||
@@ -58,6 +62,7 @@
|
||||
- 删除: `account:delete`
|
||||
|
||||
- [x] **平台账号页面** (`/account-management/platform-account`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"新增平台账号"按钮添加 `v-permission="'platform_account:add'"`
|
||||
- ✅ 在操作列中使用 `hasAuth()` 判断以下权限:
|
||||
@@ -76,6 +81,7 @@
|
||||
### 4. 资产管理模块 (Asset Management) ✅
|
||||
|
||||
- [x] **IoT卡管理页面** (`/asset-management/iot-card-management`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为表格头部操作按钮添加权限控制:
|
||||
- 批量分配: `v-permission="'iot_card:batch_allocation'"`
|
||||
@@ -89,16 +95,19 @@
|
||||
- ✅ 验证权限控制正确工作
|
||||
|
||||
- [x] **IoT卡任务页面** (`/asset-management/iot-card-task`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"批量导入IoT卡"按钮添加 `v-permission="''"`
|
||||
- ✅ 验证权限控制正确工作
|
||||
|
||||
- [x] **设备任务页面** (`/asset-management/device-task`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"批量导入设备"按钮添加 `v-permission="'device_task:bulk_import'"`
|
||||
- ✅ 验证权限控制正确工作
|
||||
|
||||
- [x] **设备管理页面** (`/asset-management/device-list`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为表格头部操作按钮添加权限控制:
|
||||
- 批量分配: `v-permission="'devices:batch_allocation'"`
|
||||
@@ -117,6 +126,7 @@
|
||||
### 5. 账户管理模块 (Account Module) ✅
|
||||
|
||||
- [x] **企业客户页面** (`/account/enterprise-customer`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"新增企业客户"按钮添加 `v-permission="'enterprise_customer:add'"`
|
||||
- ✅ 在操作列中使用 `hasAuth()` 判断以下权限:
|
||||
@@ -127,6 +137,7 @@
|
||||
- ✅ 验证权限控制正确工作
|
||||
|
||||
- [x] **运营商管理页面** (`/account/carrier-management`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"新增运营商"按钮添加 `v-permission="'carrier:add'"`
|
||||
- ✅ 为状态切换添加 `disabled: !hasAuth('carrier:update_status')`
|
||||
@@ -134,16 +145,19 @@
|
||||
- ✅ 验证权限控制正确工作
|
||||
|
||||
- [x] **订单管理页面** (`/account/orders`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"创建订单"按钮添加 `v-permission="'orders:add'"`
|
||||
- ✅ 验证权限控制正确工作
|
||||
|
||||
- [x] **提现配置页面** (`/account/commission/withdrawal-settings`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"新增配置"按钮添加 `v-permission="'withdrawal_settings:add'"`
|
||||
- ✅ 验证权限控制正确工作
|
||||
|
||||
- [x] **我的佣金页面** (`/account/commission/my-commission`)
|
||||
|
||||
- ✅ 引入 `useAuth` composable
|
||||
- ✅ 为"发起提现"按钮添加 `v-permission="'my_commission:add'"`
|
||||
- ✅ 验证权限控制正确工作
|
||||
@@ -164,6 +178,7 @@
|
||||
### 7. 测试与文档
|
||||
|
||||
- [ ] **权限控制测试**
|
||||
|
||||
- 创建不同权限组合的测试用户
|
||||
- 验证每个页面的按钮显示/隐藏符合预期
|
||||
- 验证状态切换的启用/禁用符合预期
|
||||
|
||||
Reference in New Issue
Block a user