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

3.6 KiB
Raw Blame History

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-rowlayui-col-md-* 实现8/4分栏
    • 左侧主体字段8列
    • 右侧基础字段4列包含创建时间、更新时间等

2.3 修改BuildCurdServiceBase

  • renderView 方法中添加详情页面生成逻辑

  • 实现字段分类:

    • 主体字段除ID、创建时间、更新时间外的大部分字段
    • 基础字段ID、创建时间、更新时间、状态等系统字段
  • 添加详情页面到文件列表

2.4 更新JS文件生成

  • 修改 js/index.code 模板

  • 在操作列添加详情按钮

  • 实现详情跳转逻辑

2.5 更新控制器模板

  • 确保控制器支持详情页面路由

3. 布局设计Layui风格

<!-- 顶部区域 -->
<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样式保持一致的视觉效果