Files
ulthon_admin/.trae/documents/添加CURD详情页面生成功能.md
2026-01-05 22:59:12 +08:00

134 lines
3.6 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.

# CURD详情页面生成功能实现计划
## 1. 需求分析
* 当前CURD生成功能不包含详情页面
* 详情页面需要合理布局:顶部是标题+ID左侧8/12是主体右侧4/12是基础字段
* 详情页面需要包含编辑、删除、返回等基础按钮操作
* 支持后续扩展更多字段
* 使用Layui栅格系统
## 2. 实现步骤
### 2.1 添加详情方法到CURD Trait
*`CurdTraitBase.php` 中添加 `read` 方法
* 实现详情数据获取和页面渲染逻辑
### 2.2 创建详情页面模板
* 创建 `view/read.code` 主模板
* 设计Layui风格布局
* 顶部区域标题、ID和操作按钮编辑、删除、返回
* 内容区域:使用 `layui-row``layui-col-md-*` 实现8/4分栏
* 左侧主体字段8列
* 右侧基础字段4列包含创建时间、更新时间等
### 2.3 修改BuildCurdServiceBase
*`renderView` 方法中添加详情页面生成逻辑
* 实现字段分类:
* 主体字段除ID、创建时间、更新时间外的大部分字段
* 基础字段ID、创建时间、更新时间、状态等系统字段
* 添加详情页面到文件列表
### 2.4 更新JS文件生成
* 修改 `js/index.code` 模板
* 在操作列添加详情按钮
* 实现详情跳转逻辑
### 2.5 更新控制器模板
* 确保控制器支持详情页面路由
## 3. 布局设计Layui风格
```html
<!-- 顶部区域 -->
<div class="layui-card">
<div class="layui-card-header detail-header">
<div class="layui-row">
<div class="layui-col-md9">
<h2 class="detail-title">{{title}}</h2>
<div class="detail-id">ID: {{id}}</div>
</div>
<div class="layui-col-md3 text-right">
<button class="layui-btn layui-btn-primary" onclick="window.history.back()">返回</button>
<button class="layui-btn" onclick="location.href='{{editUrl}}'">编辑</button>
<button class="layui-btn layui-btn-danger" onclick="deleteData({{id}})">删除</button>
</div>
</div>
</div>
<!-- 内容区域 -->
<div class="layui-card-body">
<div class="layui-row detail-content">
<!-- 左侧主体内容8/12 -->
<div class="layui-col-md-8 detail-main">
<div class="layui-form">
<!-- 主体字段展示 -->
</div>
</div>
<!-- 右侧基础信息4/12 -->
<div class="layui-col-md-4 detail-side">
<div class="layui-form">
<!-- 基础字段展示:创建时间、更新时间等 -->
</div>
</div>
</div>
</div>
</div>
```
## 4. 字段分类规则
* **主体字段**:所有非系统字段,如名称、描述、内容等
* **基础字段**
* id
* create_time
* update_time
* status
* 其他系统相关字段
## 5. 实现要点
* 保持与Layui框架风格一致
* 遵循现有代码生成模式
* 支持后续字段扩展
* 确保详情页面与现有功能无缝集成
* 添加必要的JavaScript交互逻辑
## 6. 文件修改清单
1. `extend/base/admin/traits/CurdTraitBase.php` - 添加read方法
2. `extend/base/admin/service/curd/templates/view/read.code` - 详情页面模板
3. `extend/base/admin/service/curd/BuildCurdServiceBase.php` - 添加详情页面生成逻辑
4. `extend/base/admin/service/curd/templates/js/index.code` - 添加详情按钮
5. `extend/base/admin/service/curd/templates/js/read.code` - 详情页面JS逻辑
## 7. 详情页面按钮功能
* **返回**:返回上一页
* **编辑**:跳转到编辑页面
* **删除**:调用删除接口,删除当前数据
* 所有按钮使用Layui样式保持一致的视觉效果