RuoYi-Vue-Plus/PMS价格管理模块路由配置指南.md

196 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PMS价格管理模块路由配置指南
## 背景说明
由于elegant-router系统的限制价格管理模块的路由需要通过系统菜单管理进行配置而不能直接修改路由文件。
## 配置步骤
### 1. 登录系统管理后台
使用管理员账号登录系统,进入"系统管理" -> "菜单管理"
### 2. 创建价格管理主菜单
点击"新增"按钮,创建价格管理主菜单:
```
菜单名称:价格管理
菜单类型:目录
路由地址:/pms/pricing
组件路径Layout
显示排序4
菜单图标icon-park-outline:calculator
菜单状态:正常
```
### 3. 创建价格规则管理菜单
在"价格管理"菜单下创建子菜单:
```
菜单名称:价格规则
菜单类型:菜单
路由地址:/pms/pricing/rules
组件路径pms/pricing-rules/index
显示排序1
菜单图标icon-park-outline:setting-config
菜单状态:正常
权限标识pms:pricingRules:list
```
### 4. 创建价格计算历史菜单
```
菜单名称:价格计算
菜单类型:菜单
路由地址:/pms/pricing/calculations
组件路径pms/pricing-calculations/index
显示排序2
菜单图标icon-park-outline:calculator
菜单状态:正常
权限标识pms:pricingCalculations:list
```
### 5. 创建特殊日期价格菜单
```
菜单名称:特殊日期
菜单类型:菜单
路由地址:/pms/pricing/special-dates
组件路径pms/special-dates/index
显示排序3
菜单图标icon-park-outline:calendar
菜单状态:正常
权限标识pms:specialDates:list
```
## 权限配置
### 1. 创建权限点
在"系统管理" -> "权限管理"中添加以下权限:
#### 价格规则权限
```
pms:pricingRules:list - 价格规则查询
pms:pricingRules:add - 价格规则新增
pms:pricingRules:edit - 价格规则编辑
pms:pricingRules:remove - 价格规则删除
pms:pricingRules:enable - 价格规则启用
pms:pricingRules:disable - 价格规则禁用
pms:pricingRules:copy - 价格规则复制
pms:pricingRules:export - 价格规则导出
```
#### 价格计算权限
```
pms:pricingCalculations:list - 价格计算查询
pms:pricingCalculations:calculate - 价格计算
pms:pricingCalculations:detail - 价格计算详情
pms:pricingCalculations:remove - 价格计算删除
pms:pricingCalculations:export - 价格计算导出
pms:pricingCalculations:analysis - 价格分析
```
#### 特殊日期权限
```
pms:specialDates:list - 特殊日期查询
pms:specialDates:add - 特殊日期新增
pms:specialDates:edit - 特殊日期编辑
pms:specialDates:remove - 特殊日期删除
pms:specialDates:enable - 特殊日期启用
pms:specialDates:disable - 特殊日期禁用
pms:specialDates:copy - 特殊日期复制
pms:specialDates:export - 特殊日期导出
```
### 2. 分配权限给角色
在"系统管理" -> "角色管理"中,为相应角色分配权限:
- **PMS管理员**:分配所有价格管理权限
- **前台接待**:分配价格查询和计算权限
- **财务人员**:分配价格规则管理和分析权限
## 菜单层级结构
配置完成后的菜单结构如下:
```
PMS系统
├── 联系人管理
├── 房型管理
├── 房间管理
├── 价格管理 (新增)
│ ├── 价格规则
│ ├── 价格计算
│ └── 特殊日期
└── 其他模块...
```
## 验证配置
### 1. 检查菜单显示
登录系统后,在左侧导航栏应该能看到"价格管理"菜单及其子菜单。
### 2. 检查页面访问
点击各个菜单项,确认能正常访问对应的页面:
- `/pms/pricing/rules` - 价格规则管理页面
- `/pms/pricing/calculations` - 价格计算历史页面
- `/pms/pricing/special-dates` - 特殊日期价格页面
### 3. 检查权限控制
使用不同权限的用户登录,验证权限控制是否生效:
- 有权限的用户能看到菜单和操作按钮
- 无权限的用户看不到相关菜单或按钮被禁用
## 常见问题
### Q1: 菜单配置后不显示
**A**: 检查以下几点:
1. 菜单状态是否为"正常"
2. 当前用户是否有对应权限
3. 路由地址是否正确
4. 组件路径是否存在
### Q2: 页面访问404错误
**A**: 检查:
1. 组件路径是否正确
2. Vue组件文件是否存在
3. 路由地址是否与菜单配置一致
### Q3: 权限控制不生效
**A**: 检查:
1. 权限标识是否正确
2. 用户角色是否分配了对应权限
3. 前端组件中的权限判断是否正确
## 技术说明
### elegant-router限制
elegant-router是一个基于文件系统的路由生成器它有以下限制
1. **自动生成**:路由是根据文件结构自动生成的
2. **类型安全**有严格的TypeScript类型检查
3. **不可直接编辑**:生成的路由文件不能手动修改
### 解决方案
通过系统菜单管理配置路由的优势:
1. **动态配置**:可以在运行时动态配置菜单和路由
2. **权限集成**:与权限系统无缝集成
3. **用户友好**:管理员可以通过界面配置,无需修改代码
## 总结
通过系统菜单管理配置价格管理模块的路由是最佳实践它不仅解决了elegant-router的限制问题还提供了更好的权限控制和用户体验。
配置完成后,用户就可以正常使用价格管理模块的所有功能了。