Files
medical-mall/ADMIN_PAGE_MODIFICATION_PLAN.md
2026-01-30 19:00:31 +08:00

408 lines
13 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.
# 后台页面 AdminLayout 包装修改计划
本文档详细说明需要修改的所有文件及具体修改方案。
## 修改方案概览
### 方案 1完全包装类别 B - 36个文件
**问题**:完全没有使用 AdminLayout 包装
**解决**:使用 AdminLayout 包装整个页面内容,并添加正确的 currentPage prop
**修改模板**
```uvue
<!-- 修改前 -->
<template>
<view class="Page">
<!-- 内容 -->
</view>
</template>
<!-- 修改后 -->
<template>
<AdminLayout :currentPage="'current-page-id'">
<view class="Page">
<!-- 内容 -->
</view>
</AdminLayout>
</template>
<script setup lang="uts">
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
// ... 其他代码
</script>
```
---
### 方案 2使用已导入的 AdminLayout类别 A - 27个文件
**问题**:已经导入 AdminLayout但在模板中没有使用
**解决**:在模板中使用 AdminLayout 包装,并添加 currentPage prop
**修改模板**
```uvue
<!-- 修改前 -->
<template>
<view class="Page">
<!-- 内容 -->
</view>
</template>
<script setup lang="uts">
import AdminLayout from '@/layouts/admin/AdminLayout.uvue' // 已导入但未使用
</script>
<!-- 修改后 -->
<template>
<AdminLayout :currentPage="'page-id'">
<view class="Page">
<!-- 内容 -->
</view>
</AdminLayout>
</template>
<script setup lang="uts">
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
</script>
```
---
### 方案 3修复属性名和值类别 C 的属性名问题)
**问题**:使用 `current-page` kebab-case而非 `currentPage` camelCase或值不正确
**解决**:使用正确的属性名和值
**修改示例 - design/index.uvue**
```uvue
<!-- 修改前 -->
<AdminLayout current-page='design'>
<!-- 修改后 -->
<AdminLayout :currentPage="'design-home'">
```
**修改示例 - customer-service/list.uvue**
```uvue
<!-- 修改前 -->
<AdminLayout current-page='list'>
<!-- 修改后 -->
<AdminLayout :currentPage="'cs-list'">
```
---
### 方案 4修复内层 currentPage类别 C 的位置问题)
**问题**currentPage 被放在了内层 view 上,而非 AdminLayout 上
**解决**:将 currentPage 移到 AdminLayout 组件上
**修改示例 - user-statistics.uvue**
```uvue
<!-- 修改前 -->
<template>
<AdminLayout>
<view class="Page" currentPage='user'>
<!-- 内容 -->
</view>
</AdminLayout>
</template>
<!-- 修改后 -->
<template>
<AdminLayout :currentPage="'user'">
<view class="Page">
<!-- 内容 -->
</view>
</AdminLayout>
</template>
```
---
### 方案 5动态 currentPage类别 D - user-management.uvue
**现状**:已正确使用动态 currentPage根据路由查询参数动态变化
**行动**:验证实现正确性,无需修改
```uvue
<template>
<AdminLayout :currentPage="currentPage">
<!-- 内容 -->
</AdminLayout>
</template>
<script setup lang="uts">
import { ref } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
const currentPage = ref('user-list')
onLoad((options) => {
const action = options?.action as string | undefined
if (action == 'group') currentPage.value = 'user-group'
else if (action == 'tag') currentPage.value = 'user-tag'
else if (action == 'level') currentPage.value = 'user-level'
else if (action == 'config') currentPage.value = 'user-config'
else currentPage.value = 'user-list'
})
</script>
```
---
### 方案 6处理多 tab 页面order-management.uvue、marketing/points/index.uvue
**问题**:页面根据 tab 查询参数显示不同内容,需要动态设置 currentPage
**解决**:根据 tab 参数动态设置 currentPage
**修改示例 - order-management.uvue**
```uvue
<template>
<AdminLayout :currentPage="currentPage">
<view class="Page">
<!-- 内容 -->
</view>
</AdminLayout>
</template>
<script setup lang="uts">
import { ref } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
const currentPage = ref('order-list')
onLoad((options) => {
const tab = options?.tab as string | undefined
switch (tab) {
case 'stats':
currentPage.value = 'order-stats'
break
case 'aftersale':
currentPage.value = 'order-aftersale'
break
case 'cashier':
currentPage.value = 'order-cashier'
break
case 'verify':
currentPage.value = 'order-verify'
break
case 'config':
currentPage.value = 'order-config'
break
default:
currentPage.value = 'order-list'
}
})
</script>
```
---
## 需要修改的文件详细清单
### 【类别 A】已导入但未在模板中使用27个文件
需要在模板中使用 AdminLayout 包装,并添加 currentPage prop。
#### 商品管理6个文件
1. `pages/mall/admin/product-classification.uvue` → currentPage: `product-classification`
2. `pages/mall/admin/product-specifications.uvue` → currentPage: `product-specifications`
3. `pages/mall/admin/product-parameters.uvue` → currentPage: `product-parameters`
4. `pages/mall/admin/product-labels.uvue` → currentPage: `product-labels`
5. `pages/mall/admin/product-protection.uvue` → currentPage: `product-protection`
6. `pages/mall/admin/product-reviews.uvue` → currentPage: `product-reviews`
#### 系统设置8个文件
7. `pages/mall/admin/system/message-management.uvue` → currentPage: `sys-message`
8. `pages/mall/admin/system/agreement-settings.uvue` → currentPage: `sys-agreement`
9. `pages/mall/admin/system/receipt-settings.uvue` → currentPage: `sys-receipt`
10. `pages/mall/admin/system/permission/role.uvue` → currentPage: `sys-role`
11. `pages/mall/admin/system/permission/admin-list.uvue` → currentPage: `sys-admin`
12. `pages/mall/admin/system/permission/permission-setting.uvue` → currentPage: `sys-perm-setting`
13. `pages/mall/admin/system/api/yht/page.uvue` → currentPage: `api-yht-page`
14. `pages/mall/admin/system/api/yht/config.uvue` → currentPage: `api-yht-config`
#### 系统 API 配置6个文件
15. `pages/mall/admin/system/api/storage.uvue` → currentPage: `api-storage`
16. `pages/mall/admin/system/api/collect.uvue` → currentPage: `api-collect`
17. `pages/mall/admin/system/api/logistics.uvue` → currentPage: `api-logistics`
18. `pages/mall/admin/system/api/waybill.uvue` → currentPage: `api-waybill`
19. `pages/mall/admin/system/api/sms.uvue` → currentPage: `api-sms`
20. `pages/mall/admin/system/api/pay.uvue` → currentPage: `api-pay`
#### 维护管理 - 开发配置5个文件
21. `pages/mall/admin/maintain/dev-config/combination-data.uvue` → currentPage: `dev-config-combo`
22. `pages/mall/admin/maintain/dev-config/cron-job.uvue` → currentPage: `dev-config-cron`
23. `pages/mall/admin/maintain/dev-config/permission.uvue` → currentPage: `dev-config-permission`
24. `pages/mall/admin/maintain/dev-config/module-config.uvue` → currentPage: `dev-config-module`
25. `pages/mall/admin/maintain/dev-config/custom-event.uvue` → currentPage: `dev-config-event`
#### 维护管理 - 安全维护3个文件
26. `pages/mall/admin/maintain/security/refresh-cache.uvue` → currentPage: `security-refresh-cache`
27. `pages/mall/admin/maintain/security/system-log.uvue` → currentPage: `security-system-log`
28. `pages/mall/admin/maintain/security/online-upgrade.uvue` → currentPage: `security-online-upgrade`
---
### 【类别 B】完全未使用 AdminLayout36个文件
需要完全重新包装和导入,并添加 currentPage prop。
#### 商品与订单管理2个文件
1. `pages/mall/admin/product-management.uvue` → currentPage: `product-list`
2. `pages/mall/admin/order-management.uvue` → currentPage: 根据 tab 参数动态设置
#### 营销管理7个文件
3. `pages/mall/admin/marketing/coupon/list.uvue` → currentPage: `coupon-list`
4. `pages/mall/admin/marketing/coupon/receive.uvue` → currentPage: `coupon-receive`
5. `pages/mall/admin/marketing/points/index.uvue` → currentPage: 根据 tab 参数动态设置
6. `pages/mall/admin/marketing/signin/rule.uvue` → currentPage: `signin-rule`
7. `pages/mall/admin/marketing/signin/record.uvue` → currentPage: `signin-record`
#### 客服管理4个文件
8. `pages/mall/admin/customer-service/script.uvue` → currentPage: `cs-script`
9. `pages/mall/admin/customer-service/messages.uvue` → currentPage: `cs-message`
10. `pages/mall/admin/customer-service/auto-reply.uvue` → currentPage: `cs-auto-reply`
11. `pages/mall/admin/customer-service/config.uvue` → currentPage: `cs-config`
#### 系统 - 发货设置4个文件
12. `pages/mall/admin/system/shipping/courier.uvue` → currentPage: `ship-courier`
13. `pages/mall/admin/system/shipping/pickup/points.uvue` → currentPage: `pickup-points`
14. `pages/mall/admin/system/shipping/pickup/verifiers.uvue` → currentPage: `pickup-verifier`
15. `pages/mall/admin/system/shipping/freight-template.uvue` → currentPage: `ship-freight`
#### 维护 - 数据维护3个文件
16. `pages/mall/admin/maintain/data/logistics-company.uvue` → currentPage: `data-logistics-company`
17. `pages/mall/admin/maintain/data/city-data.uvue` → currentPage: `data-city-data`
18. `pages/mall/admin/maintain/data/clear-data.uvue` → currentPage: `data-clear-data`
#### 维护 - 对外接口1个文件
19. `pages/mall/admin/maintain/external/account.uvue` → currentPage: `external-account`
#### 维护 - 语言设置4个文件
20. `pages/mall/admin/maintain/i18n/language-list.uvue` → currentPage: `i18n-language-list`
21. `pages/mall/admin/maintain/i18n/language-detail.uvue` → currentPage: `i18n-language-detail`
22. `pages/mall/admin/maintain/i18n/region-list.uvue` → currentPage: `i18n-region-list`
23. `pages/mall/admin/maintain/i18n/translate-config.uvue` → currentPage: `i18n-translate-config`
#### 维护 - 开发工具5个文件
24. `pages/mall/admin/maintain/dev-tools/database.uvue` → currentPage: `dev-tools-db`
25. `pages/mall/admin/maintain/dev-tools/file.uvue` → currentPage: `dev-tools-file`
26. `pages/mall/admin/maintain/dev-tools/api.uvue` → currentPage: `dev-tools-api`
27. `pages/mall/admin/maintain/dev-tools/codegen.uvue` → currentPage: `dev-tools-codegen`
28. `pages/mall/admin/maintain/dev-tools/data-dict.uvue` → currentPage: `dev-tools-dict`
---
### 【类别 C】需要修复 currentPage7个文件
#### 修复属性名2个文件
1. `pages/mall/admin/design/index.uvue`
- **修改前**`<AdminLayout current-page='design'>`
- **修改后**`<AdminLayout :currentPage="'design-home'">`
2. `pages/mall/admin/customer-service/list.uvue`
- **修改前**`<AdminLayout current-page='list'>`
- **修改后**`<AdminLayout :currentPage="'cs-list'">`
#### 修复位置和属性名1个文件
3. `pages/mall/admin/user-statistics.uvue`
- **修改前**
```uvue
<AdminLayout>
<view class="Page" currentPage='user'>
```
- **修改后**
```uvue
<AdminLayout :currentPage="'user'">
<view class="Page">
```
#### 添加 currentPage3个文件
4. `pages/mall/admin/content/index.uvue` → 添加 currentPage: `content-list`
5. `pages/mall/admin/system-settings.uvue` → 添加 currentPage: `sys-basic`
6. `pages/mall/admin/maintain/dev-config/category.uvue` → 添加 currentPage: `dev-config-category`
7. `pages/mall/admin/maintain/system-info.uvue` → 添加 currentPage: `system-info`
---
### 【类别 D】动态 currentPage已正确 - 需验证)
1. `pages/mall/admin/user-management.uvue` ✅
- 已正确实现根据 action 参数动态设置 currentPage
- 无需修改
---
## 修改优先级建议
### 🔴 优先级 1 - 高危15个文件 - 必须修改)
这些文件完全没有 AdminLayout会导致页面无法正确显示导航和布局
- product-management.uvue
- order-management.uvue
- marketing/coupon/list.uvue
- marketing/coupon/receive.uvue
- marketing/points/index.uvue
- marketing/signin/rule.uvue
- marketing/signin/record.uvue
- customer-service/\*.uvue (4个文件)
- system/shipping/\*.uvue (4个文件)
### 🟡 优先级 2 - 中等20个文件 - 应该修改)
这些文件已导入 AdminLayout 但未使用,或属性不正确:
- product-\*.uvue (6个文件)
- system/api/\*.uvue (8个文件)
- maintain/dev-config/\*.uvue (5个)
- design/index.uvue, user-statistics.uvue, 等
### 🟢 优先级 3 - 低(验证阶段)
- user-management.uvue (已正确实现)
---
## 实施建议
1. **分批修改**按优先级分批修改每批10-15个文件
2. **验证方法**:修改后在浏览器中访问每个页面,检查是否正确显示 AdminLayout
3. **检查清单**
- 左侧导航菜单是否显示
- 正确的菜单项是否高亮
- 顶部面包屑导航是否正确
- 页面内容是否正确显示
---
_文档生成时间2026年1月30日_